有条件地显示 JSF 组件

2023-11-22

首先,我是 Java EE 的新手,拥有强大的 ASP .NET 开发背景。 我浏览过网络,我可能会错过这一点,但似乎没有关于如何将支持 bean 类连接到 JSF 组件的简单且直接的教程。

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

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

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


是的,使用rendered属性。

<h:form rendered="#{some boolean condition}">

您通常将其绑定到模型,而不是让模型抓取组件并操纵它。

E.g.

<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 and lt代替>, >=, <= and <作为尖括号< and >是 XML 中的保留字符。另请参阅此相关问答:解析 XHTML 时出错:元素的内容必须由格式正确的字符数据或标记组成.

至于您的具体用例,我们假设链接正在传递如下所示的参数:

<a href="page.xhtml?form=1">link</a>

然后您可以显示如下表格:

<h:form rendered="#{param.form eq '1'}">

(the #{param}是一个隐式 EL 对象,引用Map代表请求参数)

也可以看看:

  • Jakarta EE 教程 - 第 9 章. 表达式语言
  • 如果列表不为 null 并且 size() > 0,如何显示 JSF 组件
  • 当我想要 ajax 更新它时,为什么需要将 render="#{some}" 的组件嵌套在另一个组件中?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有条件地显示 JSF 组件 的相关文章

随机推荐

  • 使用 pgAdmin 进行远程 PostgreSQL 连接

    我正在尝试通过基于 Ubuntu 16 04 的服务器上运行的 PostgreSQL 建立远程连接 到目前为止 当我单击 pgAdmin 上的 保存 按钮时 它有点冻结 什么也不做 输入 manage py runserver My dro
  • 处理 BeautifulSoup CSS 选择器中的冒号

    输入 HTML div style display flex div class half style font size 6 width 33 apple div div class half style font size 6 text
  • iOS Swift,Enum CaseIterable 扩展

    我正在尝试为枚举编写一个扩展CaseIterable这样我就可以获得原始值的数组而不是案例 但我并不完全确定如何做到这一点 extension CaseIterable static var allValues String get ret
  • Parcelable 中的 Parcel 读/写操作时变量顺序是否重要?

    我有以下实现Parcelable class public class DemoModel implements Parcelable private String para1 private int para2 public DemoMo
  • 在 T-SQL 中使用环境变量

    如何在 T SQL 脚本中读取系统环境变量的值 这是在 SQL Server 2005 上运行 要 读取 T SQL 脚本中系统环境变量的值 您可以将 SQL Management Studio 设置为使用 sqlcmd 模式 然后你可以像
  • Shell脚本:如何删除目录中除文件中列出的文件之外的所有文件?

    我有一个目录 temp 包含许多文件和子目录 并且在某些目录中 可能还包含其他文件和子目录 另外 在目录 temp 它包含一个特殊的txt文件 名为kept txt 它列出了其中包含的一些直接文件和子目录 temp 现在我想删除下面的所有其
  • Rails 4 中的左外连接

    我有3个型号 class Student lt ActiveRecord Base has many student enrollments dependent destroy has many courses through studen
  • 自引用外键约束和删除

    在 SQL Server 中处理自引用外键约束的推荐方法是什么 桌子型号 fiData引用 tabData 中的先前记录 如果我删除引用的记录fiData 数据库抛出异常 DELETE 语句与 SAME TABLE REFERENCE 冲突
  • 在边框半径图像背景上添加边框渗透

    我在蓝色背景的图像上添加黑色边框 这样做时 似乎在边框内部添加了非常明显的背景彩色轮廓 有办法摆脱这个吗 我使用的代码很简单 border radius 100 border 3px solid rgb 0 0 0 您可以通过向任何图像添加
  • 如何让匿名用户编辑 Google Drive Realtime 文档?

    我想创建一个网页 使用Google 云端硬盘实时 API允许用户匿名编辑多个文本字段 由于可能有多个用户同时访问该页面 因此我想防止某人的编辑被另一个用户覆盖 而第一个编辑者不知道他的编辑已被覆盖 然而 从快速开始 似乎需要使用 Googl
  • 如何在pandas中按列表删除行[重复]

    这个问题在这里已经有答案了 现在我有数据框和列表 A B 1 a 2 b 3 c 4 d 5 e list a b c 我想通过 df B 引用列表来删除行 我想在下面 df A B 4 d 5 e 我怎样才能得到这个结果 您可以使用isi
  • imghdr / python - 无法检测某些图像的类型(图像扩展)

    我正在使用 Python 脚本从 imgur com 下载大量图像 因为我拥有该格式的所有链接http imgur com id 我必须通过将原始网址替换为来强制下载它们http i imgur com id gif 然后保存所有图像 不带
  • 如何使 Matter.js 的最小示例工作?

    我正在尝试使用Matter js 物理库 我正在使用他们的 入门 教程 但找不到画布 这是我的html
  • 分析线程同步锁争用

    过去 我使用过 nprof Equatec profiler 和 Yourkit profiler 等性能分析工具来识别和消除 减少主要 在一个线程 串行执行 中运行的代码中的性能瓶颈 现在我写了很多多线程代码 这些代码会因为锁争用而减慢速
  • 在 PowerShell 中从内存中删除类

    我创建了一个名为 Application 的类 并将其加载到我的主脚本中 Import Module NAME C PowerShell Scripts Class Application ps1 GLOBAL FORCE 但是如果我ONL
  • JavaScript 中的 querySelector 和 querySelectorAll 与 getElementsByClassName 和 getElementById

    我想知道两者之间到底有什么区别querySelector and querySelectorAll反对getElementsByClassName and getElementById From 这个链接我可以收集到querySelecto
  • 如何将 JqGrid 居中

    div class center table table div
  • 为什么 Eclipse Kepler SR1 出现错误:JAX-RS 2.0 需要 Java 1.7 或更高版本

    我有一个maven项目 出现以下两个错误 无法安装 JAX RS REST Web 服务 2 0 尚未满足一项或多项约束 JAX RS REST Web 服务 2 0 需要 Java 1 7 或更高版本 我安装了 JDK 1 6 我无法更改
  • 函数的多个定义错误

    几年前参加了入门课程后 我试图重新学习 C 但遇到了一些基本问题 我当前的问题是在尝试使用好友功能时出现的 这是我的代码 分为两个文件 First fun cpp include
  • 有条件地显示 JSF 组件

    首先 我是 Java EE 的新手 拥有强大的 ASP NET 开发背景 我浏览过网络 我可能会错过这一点 但似乎没有关于如何将支持 bean 类连接到 JSF 组件的简单且直接的教程 一个很好的例子是这样的 目前我正在尝试创建一个 JSF