请查看此表达语言
styleClass="#{obj.validationErrorMap eq null ? ' ' :
obj.validationErrorMap.contains('key')?'highlight_field':'highlight_row'}"
即使地图为null,highlight_row
也会应用样式。
所以我改为
styleClass="#{empty obj.validationErrorMap ? ' ' :
obj.validationErrorMap.contains('key')?'highlight_field':'highlight_row'}"
即使这样,highlight_row
也正在得到应用。
如果地图是empty OR null
我不想应用任何样式。
有什么帮助吗?以及这种行为的原因?
使用empty
(检查空性和空性)并使用括号将嵌套的三元表达式分组(EL在某些实现/版本中,即嵌套三元表达式有些问题)。因此,这样:
styleClass="#{empty obj.validationErrorMap ? ' ' :
(obj.validationErrorMap.contains('key') ? 'highlight_field' : 'highlight_row')}"
如果仍然徒劳(我将检查JBoss EL配置),请使用“常规” EL方法:
styleClass="#{empty obj.validationErrorMap ? ' ' :
(obj.validationErrorMap['key'] ne null ? 'highlight_field' : 'highlight_row')}"
更新 :根据评论,Map
结果实际上是一个List
(请按照您的命名约定进行操作)。要检查是否List
包含“常规”
EL方式的项目,请使用JSTL
fn:contains
(尽管没有明确记录,但也可以使用List
)。
styleClass="#{empty obj.validationErrorMap ? ' ' :
(fn:contains(obj.validationErrorMap, 'key') ? 'highlight_field' : 'highlight_row')}"
了解 After Effects 中的表达式和表达式引用,如时间转换方法和矢量数学方法。 使用 After Effects 表达式元素以及标准 JavaScript 元素来编写您的表达式。您可随时使用“表达式语言”菜单将方法和属性插入到表达式中,您还可以随时使用关联器来插入属性。 如果参数描述包含等号 (=) 和一个值(例如 t=time 或 width=.2),则当您未指定其他值时,该参数将使用
JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单。JSP EL既可以用来创建算术表达式也可以用来创建逻辑表达式。在JSP EL表达式内可以使用整型数,浮点数,字符串,常量true、false,还有null。 一个简单的语法 典型的,当您需要在JSP标签中指定一个属性值时,只需要简单地使用字符串即可: <jsp:setProperty name="box" propert
本文章将介绍Thymeleaf Spring表达式语法中的概念。 Spring Expression Language(简称SpEL)是一种强大的表达式语言,支持在运行时查询和操作对象图。 语言语法类似于Unified EL,但提供了额外的功能,特别是方法调用和基本的字符串模板功能。 Spring表达式语言的创建旨在为Spring社区提供单一支持的表达式语言。 它的语言特性是由Spring项目中的
主要内容:示例,SpEL对Bean定义的支持,SpEL中的运算符,SpEL中的变量Spring Expression Language(简称 SpEL)是一种功能强大的表达式语言,支持运行时查询和操作对象图 。表达式语言一般是用最简单的形式完成最主要的工作,以此减少工作量。 Java 有许多可用的表达式语言,例如 JSP EL,OGNL,MVEL 和 JBoss EL,SpEL 语法类似于 JSP EL,功能类似于 Struts2 中的 OGNL,能在运行时构建复杂表达式、存取
Handlebars 表达式是 Handlebars 模板的基本单位。 您可以在 {{mustache}} 中单独使用它们或将它们用作 Handlebars 助手代码, 或将其用作 Hash 参数中的值。 基本用法 Handlebars 表达式是一些以双花括号 {{}} 括起来的内容。在以下的模版中,firstname 是一个被声明为表达式的变量,且被双花 括号括起来。template <p>{{