是的,使用rendered
属性。
<h:form rendered="#{some boolean condition}">
通常,您将其绑定到模型,而不是让模型抓住组件并对其进行操作。
例如
<h:form rendered="#{bean.booleanValue}" />
<h:form rendered="#{bean.intValue gt 10}" />
<h:form rendered="#{bean.objectValue eq null}" />
<h:form rendered="#{bean.stringValue ne 'someValue'}" />
<h:form rendered="#{not empty bean.collectionValue}" />
<h:form rendered="#{not bean.booleanValue and bean.intValue ne 0}" />
<h:form rendered="#{bean.enumValue eq 'ONE' or bean.enumValue eq 'TWO'}" />
注意的重要性基于关键字的EL运营商如gt
,ge
,le
和lt
代替>
,>=
,<=
和<
作为角度括号<
和>
在XML保留字符。另请参见以下相关问答:解析XHTML时出错:元素的内容必须由格式正确的字符数据或标记组成。
至于您的特定用例,我们假设链接传递的参数如下所示:
<a href="page.xhtml?form=1">link</a>
然后,您可以显示如下表格:
<h:form rendered="#{param.form eq '1'}">
(这#{param}
是一个Map
表示请求参数的隐式EL对象)
也可以看看: