我正在尝试创建一个评论页面,其中包含一组可变的评论(通过 o:tree 布局,感谢 BalusC),任何人都可以回复。我通过 p:inplace 显示 h:inputTextArea,因此每页有多个 textinputarea 和多个命令按钮回复。我正在尝试将命令按钮映射到来自特定 textinputarea 的单个后端变量,以便每次按下命令按钮时都不会处理每个 textinputarea。
编辑:代码示例
<o:tree value="#{xPost.post.comments.treeModel}" var="comment" varNode="node">
<o:treeNode>
<o:treeNodeItem>
<p:panel>
<h:outputText value="#{comment.commentText}" />
<p:inplace label="Reply">
<br/>
<p:editor value="#{post.newComment}" />
<p:commandButton action="#{post.saveComment('#{comment.ID'})}" value="Comment" ajax="false" />
</p:inplace>
<o:treeInsertChildren />
</p:panel>
</o:treeNodeItem>
</o:treeNode>
</o:tree>
除此之外,我正在使用休眠验证,据我所知,它只能通过注释进行验证:
@NotBlank(message="请输入评论。") @Length(min=1, max=10000, message="评论必须在 1 到 10,000 个字符之间。") @SafeHtml(message="无效的富文本。" ) 私有字符串 newComment = "";
因此,从上面的代码中,当我有 2+ p:editor 时,每个编辑器都被处理并填充相同的 back-bean 变量。如何强制 commentButton 仅验证特定的 inputBox/p:editor 并设置 backing-bean 变量。
谢谢您的帮助。