当前位置: 首页 > 知识库问答 >
问题:

JSF包含和不包含

查宜修
2023-03-14

正在寻找旧JSF页面的解决方案。我试图使用contains方法根据另一列是否包含单词red box来呈现组合框。

这一个工作和组合框被禁用。

<h:selectOneMenu disabled="true" rendered="#{table.col4.contains('red box')}" value="#{table.mark}">
    <f:selectItems value="#{comboboxModel.markList}"/>
</h:selectOneMenu>

但是,我也想在值不包含红色框时渲染它们,但随后将启用combox。

这是行不通的。

<h:selectOneMenu disabled="false" rendered="#{!table.col4.contains('red box')}" value="#{table.mark}">
    <f:selectItems value="#{comboboxModel.markList}"/>
</h:selectOneMenu>

因此,我如何测试的任何想法都不包含特定的单词。我还尝试了choose test when,但由于第一个表。col4值只是一个空字符串。

有什么想法吗?谢谢。

共有1个答案

劳英华
2023-03-14

我想是桌子。可乐4。contains(“”)是Java字符串的方法,而不是JSF EL,所以不能添加“!”表达前

这个案例可能会对JSTL有所帮助

Tablib:

xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:fn="http://java.sun.com/jsp/jstl/functions"
<c:if test="#{not fn:contains(table.col4, 'red box')}">
  <h:selectOneMenu disabled="false" value="#{table.mark}">
    <f:selectItems value="#{comboboxModel.markList}"/>
  </h:selectOneMenu>
</c:if>
 类似资料:
  • 问题内容: 在JSF2中,是否可以使用Ajax请求动态更改ui:include的src值(例如PrimeFacesp:commandButton)?谢谢。 那就是我现在所拥有的。是否有可能使它成为Ajax(使用p:commandButton)? 问题答案: 另一个答案中提出的JSTL标签不是必需的,并且不能很好地重用。 这是一个使用纯JSF的基本示例(假设您运行Servlet 3.0 / EL 2

  • 问题内容: 最近又了解了JavaScript计时事件。我注意到一个我从未遇到过的奇怪人物。他们使用双引号,然后调用该函数。 例: 我知道JavaScript中的双引号和单引号表示字符串。 我也看到我可以做同样的事情: 带有括号的是指,没有括号的是复制的。当我使用引号和括号时,它越来越疯狂了。 如果有人可以向我解释这三种使用方式之间的区别,我将感到非常高兴setTimeout: 带括号: 没有引号和

  • 问题内容: 我有一个对象映射,它以类似标签的方式使用嵌套对象(在我们的示例中)。每个标签可以属于一个客户/用户,并且当我们要允许我们的用户针对生成样式搜索时。 问题是,当我们运行查询时,如果一个对象有多个道具,并且当其他道具不返回时,如果多个道具之一与过滤器匹配,则当我们想要相反时- 如果一个道具返回false,则不返回vs。如果返回true,则返回true。 我在这里发布了一个完整的示例:htt

  • 我需要一些“包含”和“不包含”的正则表达式。通常我会写: 包含:(.*WORD_A.*)$,不包含:(^((?!WORD_A.*)*)$ 如果单独使用,这很好,但我想写一些可以检测到的东西,比如“包含单词A和单词B”(顺序不相关!)和“包含单词A,但不包含单词B)。 基本上,我希望用户可以做出这样的声明“以单词a开头,包含单词B,但不是C和/或以D结尾”,程序返回真/假。最好的办法是只附加正则表达

  • Includes 允许你静态包含一段Jade, 或者别的存放在单个文件中的东西比如css, html。 非常常见的例子是包含头部和页脚。 假设我们有一个下面目录结构的文件夹: ./layout.jade ./includes/ ./head.jade ./tail.jade 下面是 layout.jade 的内容: html include includes/head

  • 通过将以下代码片段复制到构建中,我使用netbeans创建了javafx独立应用程序。xml文件 我有x64位版本的jdk环境,所以它创建了只在x64位版本的窗口或操作系统中运行的应用程序。有人能告诉我应该如何改变部署方法,使应用程序在x86位系统上运行。默认情况下netbean占用了64位版本的jdk环境