Ajax с JSF дава Исканото съдържание не може да бъде заредено. грешка

Работя върху финалния проект на курса си и използвам JSF с AJAX, но имам някои грешки.

В момента използвам JSF 2.0 и Fancybox, jQuery плъгин. В дадена страница имам една таблица с данни, която зарежда моето съдържание. Всеки ред от тази таблица има връзка, която ще отвори страница за редактиране за щракнатия ред. Обърнете внимание, че във факта, че се отваря всяка нова страница, на екрана се появява само модал.

Ако не знаете, това е модален прозорец

Така че, когато потребителят щракне в реда, ще се появи "страница за редактиране", но това ще се появи като модално (ето защо използвам Fancybox).

Следва моят код за това:

<h:dataTable id="minhaTabela" styleClass="table table-hover" var="disciplina" value="#{disciplinaMBean.listaDisciplinas}" selection="#{disciplinaMBean.disciplinaSelecionada}" selectionMode="single" >
    <h:column>
        <a class="various fancybox.ajax">
            <f:facet name="header">Name</f:facet>
            <h:outputText value="#{disciplina.nome}" />
        </a>
    </h:column>
</h:dataTable>

(...)

$(".various").fancybox({
    maxWidth    : 400,
    maxHeight   : 125,
    fitToView   : false,
    autoSize    : false,
    width       : 400,
    height      : 125,
    closeClick  : false,
    openEffect  : 'none',
    closeEffect : 'none',
    ajax : {
        type    : "POST",
        url     : "edit.xhtml",
        data    : { idDisciplina : '#{disciplinaMBean.disciplinaSelecionada.id}' }, 
        dataType: "html"                
    }
}); 

И моят edit.xhtml (все още не е динамичен, той е за тест):

<form role="form">
    <div class="form-group">
        <label for="nome">Nome:</label>
        <input type="text" class="form-control adicionar" id="nome" />
        <br />
        <a type="button" href="/bg#" id="excluir" class="btn btn-md btn-danger pull-left">Excluir</a>
            <a type="button" href="/bg#" id="enviar" class="btn btn-lg btn-success pull-right">Salvar</a>
        <br />
    </div>
</form>

Когато се опитам да щракна в ред, Fancybox отваря модала, но получавам следната грешка:

Моята грешка при използване на ajax :(

Ако изтрия Ajax във Fancybox...

(и добавете href="/bgedit.xhtml" към моята връзка)

<h:column>
    <a class="various fancybox.ajax" href="/bgedit.xhtml">
         <f:facet name="header">Name</f:facet>
         <h:outputText value="#{disciplina.nome}" />
    </a>
</h:column>

(...)

$(".various").fancybox({
    maxWidth    : 400,
    maxHeight   : 125,
    fitToView   : false,
    autoSize    : false,
    width       : 400,
    height      : 125,
    closeClick  : false,
    openEffect  : 'none',
    closeEffect : 'none'
}); 

Това работи, но как мога да изпратя дисциплината на страница за редактиране - обобщавайки, как мога да редактирам дисциплина по този начин?

Страницата ми се зарежда, но по този начин как мога да изпратя информация към edit.xhtml, за да обработи информацията? Възползвайки се от възможността, по-добър начин ли е да направите същото? Не знам дали постъпвам по правилния начин, защото не намерих подобен урок или въпрос в Google.


person Paladini    schedule 24.10.2013    source източник
comment
Може би тази връзка може да ви помогне . Между другото, има ли проблем с използването на имплементация на JSF като Primefaces? Разгледайте тяхната демонстрационна страница, ако можете.   -  person danRod    schedule 24.10.2013
comment
Да, сега се опитвам да използвам Primefaces, но получавам много грешки и не знам защо :/   -  person Paladini    schedule 01.11.2013