猿问

有条件地显示JSF组件

首先,我是JavaEE新手,来自一个强大的ASP.NET开发背景。我已经通过了网络,我可能会错过这一点,但似乎没有关于如何将backbean类连接到JSF组件的简单而直接的教程。

一个很好的例子是这样的,目前我正在尝试创建一个JSF页面,其中有一组链接作为菜单栏和一组表单。我计划做的是,当点击一个链接,一个特定的形式将被呈现。

在ASP.NET中,我可以轻松检索元素,然后将属性设置为可显示。我想知道在JSF中是否有简单的方法(见鬼,甚至任何方式)可以做到这一点。

表单已经在页面中了,当我单击特定的链接时,只需将“Render”属性设置为true即可。

有条件地显示JSF组件

炎炎设计
浏览 484回答 2
2回答

天涯尽头无女友

是的,使用rendered属性。<h:form&nbsp;rendered="#{some&nbsp;boolean&nbsp;condition}">您通常将其绑定到模型上,而不是让模型获取组件并对其进行操作。例如:<h:form&nbsp;rendered="#{bean.booleanValue}"&nbsp;/><h:form&nbsp;rendered="#{bean.intValue&nbsp;gt&nbsp;10}"&nbsp;/><h:form&nbsp;rendered="#{bean.objectValue&nbsp;eq&nbsp;null}"&nbsp;/> <h:form&nbsp;rendered="#{bean.stringValue&nbsp;ne&nbsp;'someValue'}"&nbsp;/><h:form&nbsp;rendered="#{not&nbsp;empty&nbsp;bean.collectionValue}"&nbsp;/> <h:form&nbsp;rendered="#{not&nbsp;bean.booleanValue&nbsp;and&nbsp;bean.intValue&nbsp;ne&nbsp;0}"&nbsp;/><h:form&nbsp;rendered="#{bean.enumValue&nbsp;eq&nbsp;'ONE'&nbsp;or&nbsp;bean.enumValue&nbsp;eq&nbsp;'TWO'}"&nbsp;/>注意…的重要性基于关键字的EL算子比如gt,&nbsp;ge,&nbsp;le和lt而不是>,&nbsp;>=,&nbsp;<=和<作为尖括号<和>是XML中的保留字符。另见以下相关问答:XHTML解析错误:元素的内容必须包含格式良好的字符数据或标记。.至于您的特定用例,让我们假设链接正在传递一个参数,如下所示:<a&nbsp;href="page.xhtml?form=1">link</a>然后,您可以如下所示:<h:form&nbsp;rendered="#{param.form&nbsp;eq&nbsp;'1'}">()#{param}是引用Map表示请求参数)另见:JavaEE 6教程-表达式语言如果List不是NULL且size()>0,如何显示JSF组件当我想要Ajax更新一个组件时,为什么我需要在另一个组件中嵌套一个呈现=“#{一些}”的组件?

蝴蝶刀刀

除了上一篇文章之外,你还可以<h:form&nbsp;rendered="#{!bean.boolvalue}"&nbsp;/><h:form&nbsp;rendered="#{bean.textvalue&nbsp;==&nbsp;'value'}"&nbsp;/>JSF2.0
随时随地看视频慕课网APP

相关分类

Java
我要回答