0
我在JSF2渲染操作中遇到了很大的問題。我使用一個簡單的c:forEach遍歷列表。這個清單有itens,這些清單有更多的Itens清單。所以它是一個嵌套的c:forEach。子列表中有一個輸入字段,一旦保存,必須進入bean,保存這個新輸入,然後返回到帶有更新列表的屏幕。 沒有什麼複雜的事情要做。當我調試發送列表回到視圖的方法時,我看到所有的信息都是正確的。 所以,我們來解決這個問題:第一次commandButton工作正常。但是,如果我嘗試單擊列表中的另一個按鈕刷新後,該按鈕不會調用我的方法。最奇怪的是,這個動作確實將它發送給了bean(它通過我的@PostConstruct方法),但並沒有調用我想要的方法。commandButton不會調用bean操作方法
代碼:
<c:forEach var="pub" items="${publicacaoCidadeController.listaPublicacao}" varStatus="status">
<div>message from first list : ${status.count} <br/>
<h:outputLabel value="#{pub.publicacao.mensagem}" />
<br/><br/>message from second list :<br/>
<h:form>
<f:ajax event="action" execute="@form" render="@all">
<c:forEach id="test2" var="com" items="#{pub.publicacao.comentarioList}" >
<div>
<h:outputLabel value="#{com.mensagem}" />
</div>
</c:forEach>
<div>
<h:inputTextarea value="#{publicacaoCidadeController.msgComentarioNovo}" />
<div >
<h:commandButton type="submit" value="Postar" action="#{publicacaoCidadeController.salvarComentario}" >
<f:param name="codPublicacao" value="#{pub.publicacao.codPublicacao}"/>
<f:param name="postNum" value="${status.count}"/>
</h:commandButton>
</div>
</div>
</f:ajax>
</h:form>
</div>
</c:forEach>
任何想法的傢伙?
喜後,只是爲了讓你知道,你可以使用反引號(''')來突出顯示部分文本爲'code',這通常會使問題更容易閱讀。 – Kzqai