Я пробовал целую неделю и не получил работу. Объекты пользователей не получают обновленный ... Вот важная часть XHTML:Бин из списка не обновляется в JSF
<p:dataTable id="usersTable" var="user" value="#{userBean.allUsers}">
<p:ajax event="rowToggle" listener="#{userBean.onRowToggle}" update=":form_user_management:tabView_viewUsers:messages" />
<f:facet name="header">
User
</f:facet>
<p:rowExpansion>
<h:panelGrid id="display" columns="2" cellpadding="10" style="width:300px;"
styleClass=" ui-widget-content grid">
<p:panel id="panel" header="Benutzer bearbeiten">
<p:messages id="msgs"/>
<h:panelGrid columns="3" >
<h:outputLabel for="firstname" value="Firstname: *" />
<p:inputText id="firstname" value="#{user.userFirstName}" required="true" label="Firstname">
<f:validateLength minimum="2" />
</p:inputText>
<p:message for="firstname" display="icon"/>
<h:outputLabel for="surname" value="Surname: *" />
<p:inputText id="surname" value="#{user.userLastName}" label="Surname" required="true">
<f:validateLength minimum="2" />
<p:ajax update="msgSurname" event="keyup" />
</p:inputText>
<p:message for="surname" id="msgSurname" display="icon"/>
<p:commandLink id="changepw" value="Passwort ändern" onclick="dlg.show()" title="Passwort ändern">
<f:setPropertyActionListener value="#{user}" target="#{userBean.currentUser}" />
</p:commandLink>
<p:commandButton ajax="true" id="btnUpdateUser" value="Update" update=":form_user_management @all" actionListener="#{userBean.updateUser(user)}"/>
<p:commandButton ajax="true" id="btnDeleteUser" value="Delete" update=":form_user_management" actionListener="#{userBean.deleteUser(user)}"/>
</h:panelGrid>
</p:panel>
</h:panelGrid>
</p:rowExpansion>
Когда я нажимаю на «Сохранить» расширенный ряд исчезает, но новые значения не показаны и Java Метод «userBean.updateUser (user)» получает только старые значения пользовательского объекта.
Глава UserBean является:
@Named
@SessionScoped
public class UserBean implements Serializable {
SessionScoped происходит от javax.enterprise.context
Я также попытался использовать старые @ManagedBean вещи, но то не помогло. Я думаю, что проблема находится в файле xhtml и с файлом ajax ... О, и я использую и другие материалы шаблона.
Использование Primefaces 3.4 и Glassfish 3+
Полный UserBean: http://pastebin.com/yQCgiM4E Полный Xhtml: http://pastebin.com/19TWt3Dv (строка 110 интересная вещь)
В этом ряду много чего происходит. Может быть, даже слишком много. Вы можете начать с похудения, добавив ' ' к вашему представлению и изменив 'actionListener' на' action' –
kolossus
Можете ли вы показать мне полную страницу xhtml и UserBean? –
уверен, я добавил их как ссылки в нижней части сообщения – artgrohe