<h:form id="formId">
<p:wizard id="wizardId">
<p:tab id="tabId">
<p:dataTable id="tableId">
<p:column>
<h:commandLink value="remove" update=""/>
</p:column>
</p:dataTable>
</p:tab>
</p:wizard>
</h:form>
Run Code Online (Sandbox Code Playgroud)
我只需更新<p:dataTable>没有整个表单.我尝试使用@form,@parent,:formId:wizardId:tabId:tableId,但没有人正在为我想.当我使用时@form,它正在检查我不需要做的验证.
我怎样才能做到这一点?
onclick我的属性commandButton里面有一些EL依赖的Javascript.更具体地说,这是一段代码:
<p:commandButton
onclick="javascript: if('#{userBean.user.friendList.size() gt 0}' == 'true') deleteFriendsConfirmDialog.show(); else friendsAlreadyDeletedErrorDialog.show();"
value="Delete all friends?" />
Run Code Online (Sandbox Code Playgroud)
deleteFriendsConfirmDialog清除朋友列表并更新@form.朋友列表,commandButton和对话框都是这种形式.
所以我点击按钮,确认对话框出现(因为朋友列表的长度是gt 0),我确认并清空列表,视图更新.但是,当我Delete all friends?再次单击该按钮时,将再次出现确认对话框.由于列表的长度现在为0,因此我希望显示错误对话框.
我想,这是因为内部写的Javascript onclick没有更新(虽然按钮在表单中).
编辑:更改#{userBean.user.friendList.size() gt 0}为#{not empty userBean.user.friendList}既不起作用也不起作用.
怎么会?这有什么不对?
任何帮助赞赏.:)
我正在使用primefaces内联编辑datatable.which由primefaces RowEditor和一个CommandButton组成来删除记录.我的问题是,当我从数据库中删除任何记录时,该行被成功删除,当我点击时删除的记录显示用于编辑下一条记录的编辑按钮.这个编辑问题继续所有记录.它显示h:outputText中的当前值和h:inputText中的旧值,当我们单击编辑按钮时.有人可以帮我吗?谢谢你们.
使用JSF 2.0和EL,我试图在POJO上调用一个方法,POJO是一个viewscoped bean的属性.该代码实际上是非常相似的@BalusC的教程在这里.当我调用一个不带参数的方法时,一切都很好.但是当我尝试调用一个带参数的方法时,我得到以下异常:
javax.faces.el.MethodNotFoundException: javax.el.MethodNotFoundException:
/user.xhtml at line 42 and column 32 action="#{users.user.removeFriend(friend)}":
Method not found: model.User@67f2b0dd.removeFriend()
Run Code Online (Sandbox Code Playgroud)
以下是一些更多细节:
user.xhtml
<f:metadata>
<f:viewParam name="id" value="#{users.id}" />
<f:event type="preRenderView" listener="#{users.init}" />
</f:metadata>
...
<h:form id="usersForm">
<p:outputPanel>
<p:dataTable id="userTable" value="#{users.user.friendList}" var="friend">
<p:column>
<h:outputText value="#{friend.name}" />
</p:column>
<p:column>
<p:commandButton action="#{users.user.removeFriend(friend)}"
ajax="true"
update="userTable somethingElse" process="@this"
onerror="errorDialog.show();"
icon="ui-icon-delete"
title="delete user">
</p:commandButton>
</p:column>
</p:dataTable>
</p:outputPanel>
<p:commandButton action="#{users.user.removeAllFriends()}" ajax="true"
update="userTable somethingElse"
process="@this"
icon="ui-icon-close"
value="delete all friends?">
</p:commandButton>
</h:form>
Run Code Online (Sandbox Code Playgroud)
我有以下ViewScopedbean:
Users.java
@ManagedBean(name = "users") …Run Code Online (Sandbox Code Playgroud)