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