根据面部消息的存在有条件地渲染

时间:2015-07-01 14:54:34

标签: jsf primefaces message jsf-2.2 conditional-rendering

我的表格中有一行特殊的错误:

<tr>
    <td colspan="2"><p:message for="questionId" id="msgQuestion" /></td>
</tr>

如何设置此项以便仅在出现错误时显示行?

2 个答案:

答案 0 :(得分:0)

首先,我会推荐not to use table to display layout elements

之后,即使信息不存在,ellement也会出现,如果你有义务使用它,你可以在JS中使用这样的思考:

 <script type="text/javascript">
    window.onload = function() {
  hideTdMessage();
};
hideTdMessage(){
var message = document.getElementById(msgQuestion);
if(message){
   //the msg is present
}else{
   //the msg is not present 
}}
</script>

或者你可以使用你的MBean来改变CSS类,它比使用JS更好。

但我会说最好的解决方案不是使用表格。

希望有所帮助

答案 1 :(得分:0)

使用JSF组件和呈现的属性

rendered="#{not empty facesContext.messageList}"