onchange提交表单两次

时间:2015-02-06 11:49:03

标签: jsf onchange page-refresh

这是我的代码:

<h:selectOneMenu value="#{statistic.currentChoice}"
                        onchange="submit()"
                        valueChangeListener="#{statistic.changedCurrentChoice}"
                        id="statistic_type">
                        <f:selectItems value="#{statistic.statisticChoices}" />
                    </h:selectOneMenu>

提交表单后选择项目并刷新页面两次。到现在为止还挺好。如果我在选择菜单中进一步重新选择另一个项目,则此次刷新页面会导致错误:

Component ID nav_panel-nav_item0 has already been found in the view

被抛出。 nav_panel-nav_item0 ID来自另一个header.xhtml文件

<h:form id="nav" styleClass="nav" rendered="#{data.showMenu}">
    <t:panelNavigation2 id="panel-nav" expandAll="true">
        <t:navigationMenuItems value="#{data.menuItems}" />
    </t:panelNavigation2>
</h:form>

包含在XHTML文件中,其选择菜单如下:

<ui:composition template="header.xhtml"

要了解页面刷新的频率,我在system.out.print数据方法中使用getMenuItems()

为什么页面会经常刷新? 或者为什么抛出重复的ID错误。

0 个答案:

没有答案