[英]How to refresh jsf page after pagination
我已经在jsf + icefaces中创建了selectALL复选框功能。 并且我实现了功能,例如当我选中selectAll复选框时,它选中了所有页面上的所有复选框。 但是,当我进行分页并且如果我选中/未选中时,选中所有复选框,则仅适用于该页面的工作不匹配所有页面。 我的意思是行复选框的状态不一致。 我试图用phaseListener解决这个问题,但是没有运气。
我的代码:jsf
<ace:column id="checkBox">
<f:facet name="header">
<h:outputLabel>
<ice:selectBooleanCheckbox id="selectAllID"
value="#{shipBean.checkAll}"
valueChangeListener="#{shipBean.getCheck}"
partialSubmit="true" />
</h:outputLabel>
</f:facet>
<ice:selectBooleanCheckbox id="selectOne"
value="#{freight.checkBox}">
Java的
if (shipTrackingData != null) {
if (shipTrackingData.getCheckAll()) {
for (ShipTrackBean check : shipTrackingData
.getShipTrackList()) {
check.setCheckBox(true);
}
} else {
for (ShipTrackBean check : shipTrackingData
.getShipTrackList()) {
check.setCheckBox(false);
}
}
}
谢谢...
我已经为JSF应用程序测试了此代码,共有三页:
index_1.xhtml index_2.xhtml index_3.xhtml
@ManagedBean
@SessionScoped
public class pross {
private boolean challval=false;
private boolean chval1=false;
private boolean chval2=false;
private boolean chval3=false;
.. getters and setters....
}
在每个页面中,我创建了两个复选框,如果在其中任何一个页面中都选中该复选框,则将在所有页面中选中其中一个复选框,但是该复选框与所有页面的相同值(具有挑战性)相关。 页面本身还有一个复选框,每个复选框(chval1,chval2,chval3)。
为了对此进行测试,我为每个页面编写了此xhtml代码,但是您需要根据每个页面更改值,这是index_1.xhtml的代码,您需要更改“转到”链接才能访问其他页面:
<h:body>
<h:form>
Hello, Test checkboxes:
<br />
Select this page: <h:selectBooleanCheckbox value="#{pross.chval1}" >
<f:ajax render="outthis outall"/>
</h:selectBooleanCheckbox>
This page select: <h:outputText id="outthis" value="#{pross.chval1}"/>
<br/>
Select all pages: <h:selectBooleanCheckbox value="#{pross.challval}">
<f:ajax render="outthis outall"/>
</h:selectBooleanCheckbox>
all pages select: <h:outputText id="outall" value="#{pross.challval}"/>
<br/>
<h:link outcome="index_2" value="Go to page 2" />
<br/>
<h:link outcome="index_3" value="Go to page 3" />
</h:form>
</h:body>
我在这里看不到任何问题,当我在一个页面中选中“全选”时,在其他页面中仍选中了它,我的想法是将“全选”复选框与所有页面的bean值连接在一起。 希望这是有用的,谢谢。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.