f: setPropertyActionListener не работает - PullRequest
0 голосов
/ 28 июня 2011

Я использую richfaces datatable.

Чтобы редактировать rich: datatable, я использовал следующие строки

<a4j:commandLink 
    styleClass="no-decor" 
    reRender="machineDisplayTable"
    value="edit"
    oncomplete="#{rich:component('editMyMachinePanel')}.show()">
    <f:setPropertyActionListener
        target="#{machineTable.myMachineToEdit}"
        value="#{Machine}"/>
</a4j:commandLink>

, где «machineDisplayTable» - это идентификатор для datatable, «editMyMachinePanel» - rich:modalpanel, «machineTable» - это класс бина, а «myMachineToEdit» - это класс типа «машина».

Теперь в rich: modelpanel, где я печатаю «machineTable.myMachineToEdit.hostname», я ничего не получаю.Код для панели моделей:

<rich:modalPanel id="editMyMachinePanel" autosized="true">
    <f:facet name="header">
        <h:outputText value="#{machineTable.myMachineToEdit.hostname}" />
    </f:facet>
    <a4j:commandButton value="Cancel" onclick="#{rich:component('editMyMachinePanel')}.hide(); return false;" />
</rich:modalPanel>

Кажется, что первая панель обрабатывается, а затем присваивается значение machineTable.myMachineToEdit с помощью f: setPropertyActionListener.

В любом случае я могу назначить machineTableСначала нужно .myMachineToEdit, а затем визуализировать модалпанель.

Два имп-сайта, относящихся к одному и тому же:

http://richfaces -showcase.appspot.com / richfaces / component-sample.jsf? demo= dataTable & sample = dataTableEdit & skin = blueSky

и

http://binamebou.be/phoenix-framework/wiki/index.php5?title=Richfaces_FAQ

Одно решение предоставляется во второй ссылке (действие настройки), но также не работает вмой случай.

1 Ответ

3 голосов
/ 20 июля 2011

В вашем случае вы должны перезапустить панель при нажатии a4j: commandLink.Не таблица.

reRender = "editMyMachinePanel"

...