【问题标题】:What is the preferred way to specify an empty outcome in an EL-conditional expression?在 EL 条件表达式中指定空结果的首选方法是什么?
【发布时间】:2011-09-05 16:58:00
【问题描述】:

如果满足某个条件,我经常想为组件声明条件 CSS 样式类。如果不满足条件,则不应添加样式。我通常这样做(到目前为止效果很好):

<some:tag styleClass="#{someCondition ? 'SomeClass' : null}" />

这样可以吗,或者有null 有任何危险的陷阱吗?

【问题讨论】:

    标签: jsf-2 el


    【解决方案1】:

    没有危险的陷阱。 #{null} 非常好,因为 EL 不会向响应发出任何内容(它基本上评估为空字符串)。

    你有时也会看到这种风格:

    <some:tag styleClass="#{someCondition ? 'SomeClass' : ''}" />
    

    这是普通Java代码中通常使用的样式,如下所示:

    System.out.println(someCondition ? "SomeClass" : "");
    

    在纯 Java 代码中,将 null 转换为 String 将导致 "null",而不是 "",这可能是不受欢迎的。对于那些不太熟悉 EL 的人来说,上面的风格实际上是更自我记录的。否则你会得到类似 Doesn't it print "null" then?

    【讨论】:

      猜你喜欢
      • 2010-10-10
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-01
      相关资源
      最近更新 更多