如何有条件地渲染 f:selectItem 标签?

2024-02-18

如何指定条件渲染<f:selectItem>标签。 我需要显示<f:selectItem>根据特定用户状态的选项。

例如,我想要这样的东西:

<f:selectItem itemLabel="Yes! I need a girlfriend!"
             rendered="false(or some boolean condition)"
             itemValue="o1"/>

The <f:selectItem> does not https://docs.oracle.com/javaee/7/javaserver-faces-2-2/vdldocs-facelets/f/selectItem.html支持rendered属性。您最接近的赌注是itemDisabled属性仍然显示该项目,但使其不可选择。这也支持<f:selectItems>.

的情况下<p:selectOneMenu>然后你可以添加一些 CSS 来隐藏禁用的项目。

<p:selectOneMenu ... panelStyleClass="hideDisabled">
    <f:selectItem itemValue="1" itemLabel="one" />
    <f:selectItem itemValue="2" itemLabel="two" itemDisabled="#{some.condition}" />
    <f:selectItem itemValue="3" itemLabel="three" />
</p:selectOneMenu>
.ui-selectonemenu-panel.hideDisabled .ui-selectonemenu-item.ui-state-disabled {
    display: none;
}

的情况下<h:selectOneMenu>您更依赖于网络浏览器是否支持通过 CSS 隐藏禁用选项:

<h:selectOneMenu ... styleClass="hideDisabled">
    <f:selectItem itemValue="1" itemLabel="one" />
    <f:selectItem itemValue="2" itemLabel="two" itemDisabled="#{some.condition}" />
    <f:selectItem itemValue="3" itemLabel="three" />
</h:selectOneMenu>
select.hideDisabled option[disabled] {
    display: none;
}

服务器端的替代方案是引入 JSTL<c:if>围绕个人<f:selectItem>有条件地将其添加到视图中,如下所示(确保您了解 JSTL 在 JSF 中的工作原理:JSF2 Facelets 中的 JSTL...有意义吗? https://stackoverflow.com/questions/3342984/jstl-in-jsf2-facelets-makes-sense):

<f:selectItem itemValue="1" itemLabel="one" />
<c:if test="#{not some.condition}">
    <f:selectItem itemValue="2" itemLabel="two"  />
</c:if>
<f:selectItem itemValue="3" itemLabel="three" />

或者,您可以简单地动态填充List<SelectItem>根据计算的条件在支持 bean 中并将其绑定<f:selectItems>.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何有条件地渲染 f:selectItem 标签? 的相关文章

随机推荐

  • 流式操作符与延迟执行有何不同?

    In LINQ Where是一个流媒体运营商 然而OrderByDescending是一个非流操作符 AFAIK 流媒体运营商仅收集下一个必要的项目 非流式运算符立即评估整个数据流 我看不出定义流操作符的相关性 对我来说 延迟执行是多余的
  • 如何将 autoconf/automake 指向非标准包

    我正在尝试在 RedHat Linux 机器上构建 ZooKeeper ZooKeeper 到底是什么可能并不重要 当我按照包装说明进行操作时 我得到 autoreconf if aclocal configure ac 33 warnin
  • 使用RabbitMQ(Java客户端),有没有办法确定消费期间网络连接是否关闭?

    我在 RHEL 5 3 上使用 Java 客户端使用 RabbitMQ 我有 2 个节点 机器 Node1 正在使用 Java 帮助器类 QueueingConsumer 消费 Node2 上队列中的消息 QueueingConsumer
  • 在 R SF 中交叉大型空间数据集

    我有两个空间数据集 一个数据集包含许多多边形 总共超过 150k 指定不同的特征 如河流 植被 另一个数据集包含更少的指定不同区域的多边形 500 我需要将这两个数据集相交以获得不同区域的特征 我可以根据不同的特征对第一个数据集进行子集化
  • 需要从汇编中的字符串中删除所有非字母元素

    通过编写此汇编代码 我无法使用此选项来删除非字符字母 它将遍历字符串并进行所有比较 然后显示相同的字符串 且不删除任何非字符 我正在尝试将字母字符放入 tempString 中 然后将其移动到 edx 进行显示 它接受一个字符串并删除所有非
  • 我的代码是否阻止目录遍历?

    来自 Python WSGI 应用程序的以下代码片段可以安全地进行目录遍历吗 它读取作为参数传递的文件名并返回指定的文件 file name request path params file file open file name rb m
  • Clojure 应用映射和关键字参数销毁

    考虑具有以下签名的函数 defn make widget keys x y or x 10 y 20 将映射传递给函数的最佳方法是什么 例如 make widget x 100 or make widget y 200 x 0 我目前想到的
  • 正则表达式来验证逗号分隔的电子邮件地址?

    我需要验证电子邮件地址 可以是单个或多个以逗号分隔的地址 在我在正则表达式验证器中使用如下表达式之前 string exp w w w w w w 它正在验证多个或一个电子邮件地址 但同样的表达式在 C 中没有验证 它也表示对无效地址有效
  • IIS7-请求过滤模块配置为拒绝超过请求内容长度的请求

    我想上传图像 它在我的机器上运行良好 但是当我将我的网站放在 IIS7 服务器上供公众使用时 我无法上传任何内容 Error 请求过滤模块 用于拒绝以下请求 超过请求内容长度 最可能的原因 在Web服务器上配置请求过滤以拒绝请求 因为内容长
  • 如何为编辑操作指定 devise_parameter_sanitizer?

    我已将 Devise 添加到我的 Rails 4 应用程序中 并成功将用户名等添加到我的用户模型中 此外 我可以使用惰性方式存储这些字段 即 class ApplicationController lt ActionController B
  • libGDX:用一些枢轴打结的吊绳

    我正在尝试在 libGDX 中制作一根在其下端有一些物体的悬挂绳 绳子应该是这样的Box2D中的挂绳 http www emanueleferonato com 2009 10 05 basic box2d rope 我做了很多研究 lib
  • 如何让外部合并工具在 Linux 上与 svn 一起工作?

    如何获得基于 GUI 的合并工具以在 Linux 中使用命令行 SVN 我知道有很多选项 例如 meld svn Diff 等 所有这些都需要一个帮助程序脚本来允许 svn 在冲突解决期间调用外部程序 我按照给出的说明进行操作here ht
  • 将 WebRTC 与 WebWorker 结合使用

    我有兴趣将 webrtc 与 webworker 一起使用 是否可以 我尝试了 但没有成功 因为它没有找到 窗口 根据规格 1 https w3c github io mediacapture main dom navigator 2 ht
  • Apple 无法识别 imgur 的 HTTPS

    我有多个来自 imgur 的 HTTPS 链接 例如https i stack imgur com 9nSMi jpg https i stack imgur com 9nSMi jpg 我使用它作为我的原型应用程序的背景之一 但每当我在
  • WPF ComboBox...如何设置.Text 属性?

    有没有办法设置 Text直接使用 Wpf ComboBox 控件的属性吗 我的组合框绑定到List
  • 如何组合 Raphael javascript 库中的对象?

    抱歉问了一个很长的问题 但是就这样吧 我正在尝试修改此处演示周围的拖动形状 http raphaeljs com graffle html http raphaeljs com graffle html 该演示运行良好 我想做的是将文字放入
  • 在 ASP.Net 菜单中突出显示选定的选项卡

    我试图用不同的颜色突出显示 ASP NET 菜单中选定的选项卡 做到这一点似乎很简单 但首先我无法使其工作 其次我到目前为止找不到一个好的工作示例 ASP HTML div class clear hideSkiplink div
  • Firebase:部署到托管后仍然是旧版本,如何?

    我收到了一个在 firebase 上托管的相当原始的 React 应用程序 由其他人开发 进行维护 现在奇怪的事情发生了 我更改文件的内容 甚至简单的文本更改 运行部署 托管 我在 firebase 控制台中看到部署成功 仍然 页面内容仍然
  • 为独立应用程序创建 Homebrew 公式

    我正在尝试为不需要编译的应用程序创建一个自制公式 我尝试过浏览公式食谱 但我缺少一些使事情正常工作的东西 下面是我使用更通用文件名的用例 容器内部有两个文件 一个是应用程序的脚本 另一个是手册页文件 我们将使用以下文件名来保持通用 myap
  • 如何有条件地渲染 f:selectItem 标签?

    如何指定条件渲染