0

我在 ah:panelgroup 内有一个 ui:repeat,在面板外有一个 af:ajax。f:ajax 点击事件触发 h:panelgroup 上的渲染。当我加载页面时,转发器会在列表中显示我的 5 个项目。当我第一次单击该按钮时, h:panelgroup 加倍为 10 个项目,随后的每次单击都会刷新面板上的前 5 个项目(应该如此)。我究竟做错了什么?渲染事件不应该总是刷新带有中继器的面板吗?

豆:

    @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。

谢谢。

回答

<p>...</p>如果我删除并重新替换它,问题就不会发生<h:outputText value="#{option}"></h:outputText><br/>

4

1 回答 1

0

<p>...</p>如果我删除并重新替换它,问题就不会发生<h:outputText value="#{option}"></h:outputText><br/>

于 2012-07-31T15:36:54.913 回答