我有一个ui:在h:panelgroup内重复,在面板外面有一个f:ajax。 f:ajax click事件触发h:panelgroup上的渲染。当我加载页面时,转发器在列表中显示我的5个项目。当我第一次单击该按钮时,h:panelgroup加倍到10个项目,每次后续单击只刷新面板上的前5个项目(应该如此)。我究竟做错了什么?不应该渲染事件总是只刷新带有转发器的面板吗?
BEAN:
@ManagedBean(name = "TestBean")
@RequestScoped
public class TestBean {
private List testStrings;
public TestBean() {
Random rn = new Random(System.currentTimeMillis());
testStrings = Arrays.asList(rn.nextInt(),rn.nextInt(),rn.nextInt(),rn.nextInt(),rn.nextInt());
}
}
public List getTestStrings() {
return testStrings;
}
public void setTestStrings(List testStrings) {
this.testStrings = testStrings;
}
JSF:
<h:commandButton value="Refresh">
<f:ajax event="click" render="testPanel"></f:ajax>
</h:commandButton>
<p>
<h:panelGroup id="testPanel">
<ui:repeat var="option" value="#{TestBean.testStrings}" varStatus="status">
<p>
<h:outputText value="#{option}"></h:outputText>
</p>
</ui:repeat>
</h:panelGroup>
</p>
我正在使用mojarra 2.1。
感谢。
ANSWER
如果我删除<p>...</p>
并使用<h:outputText value="#{option}"></h:outputText><br/>
重新安排
答案 0 :(得分:0)
如果我删除<p>...</p>
并将其替换为<h:outputText value="#{option}"></h:outputText><br/>