Hai*_*uha 76 jsf components conditional-rendering
首先,我是Java EE的新手,来自强大的ASP .NET开发背景.我已经浏览了网络,我可能会错过这个,但似乎没有关于如何将支持bean类连接到JSF组件的简单直接的教程.
一个很好的例子是这样的,目前我正在尝试创建一个JSF页面,其中有一组链接作为菜单栏和一组表单.我打算做的是,当点击一个链接时,将呈现一个特定的表单.
在ASP.NET中,我可以轻松检索元素,然后将属性设置为可显示.我想知道在JSF中是否有简单的方法(哎呀,甚至任何方式).
表单已经在页面中,只需在单击特定链接时将"render"属性设置为true即可.
Bal*_*usC 151
是的,使用该rendered
属性.
<h:form rendered="#{some boolean condition}">
Run Code Online (Sandbox Code Playgroud)
您通常将其绑定到模型而不是让模型抓住组件并对其进行操作.
例如
<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'}" />
Run Code Online (Sandbox Code Playgroud)
注意的重要性基于关键字EL运营商如gt
,ge
,le
和lt
代替>
,>=
,<=
和<
作为角度括号<
和>
在XML保留字符.另请参阅此相关问答:解析XHTML时出错:元素的内容必须包含格式良好的字符数据或标记.
至于您的具体用例,我们假设链接传递的参数如下所示:
<a href="page.xhtml?form=1">link</a>
Run Code Online (Sandbox Code Playgroud)
然后,您可以显示以下表单:
<h:form rendered="#{param.form eq '1'}">
Run Code Online (Sandbox Code Playgroud)
(这#{param}
是一个隐含的EL对象,指的是Map
表示请求参数)
tos*_*hah 11
除了上一篇文章,你可以拥有
<h:form rendered="#{!bean.boolvalue}" />
<h:form rendered="#{bean.textvalue == 'value'}" />
Run Code Online (Sandbox Code Playgroud)
Jsf 2.0
归档时间: |
|
查看次数: |
155995 次 |
最近记录: |