セットアップ: 2 つのフォーム A と B があります。フォーム A に commandLink があります。
<h:commandLink actionListener="#{homeView.selectDiv('homeUpdates')}">#{msg.homeUpdates}
<f:ajax render=":B" execute="@this" />
</h:commandLink>
...フォーム B を更新します。
問題は、ajax リンクをクリックすると、フォーム A も再構築され、私が持っている ui:repeat から例外が発生することです。これは正しい動作ですか?フォームAも再構築する必要がありますか?
私は JSF 2.2 を使用しており、フォーム A には ui:fragment=>ui:include=>ui:repeat が含まれています
=====SSCCE を追加======= 次のコードは Update B を押した後に実行されません! 二回。IDの重複は例外です。ui:repeat の値は関係ありません
<h:head>
</h:head>
<h:body>
<h:form id="A">
<ul class="tableView notification">
<ui:repeat var="notification" value="#{dashboardBean.notifications}">
<li>
xx
</li>
</ui:repeat>
</ul>
<h:commandLink value="Update B!" listener="#{dashboardBean.toggleRendered}">
<f:ajax execute="@this" render=":B" />
</h:commandLink>
</h:form>
<h:form id="B">
</h:form>
</h:body>