我在forEach和ui中的表单有些麻烦:重复。似乎根本没有调用与commandButton相关联的操作,页面只是刷新。 h:消息也没有显示任何消息。
代码
<c:forEach items="#{newsController.newsList}" var="news" >
<h:form>
<h:inputText value="#{newsController.comment.text}" />
<h:commandButton value="Post comment" action="#{newsController.postComment(news.id)}" />
</h:form>
</c:forEach>
如果我将表单放在forEach或ui:repeat标记之外,表单将按预期工作。
postComment方法
public String postComment(int newsId){
News news = newsEJB.getById(newsId);
comment.setCreatedAt(new Date());
comment.setNews(news);
commentEJB.persist(comment);
return "news-detail.xhtml?faces-redirect=true&includeViewParams=true";
}