【问题标题】:Concat two String in JSF EL expression [duplicate]在JSF EL表达式中连接两个字符串[重复]
【发布时间】:2013-06-10 18:08:59
【问题描述】:

我有以下el表达式:

<af:outputText value="#{viewArticle.publish ? ('Publish on ' + viewArticle.publishDate + ' by ' + viewArticle.publishFirstName + ' ' + viewArticle.publishLastName) : 'Draft version'}"/>

但我得到了

java.lang.NumberFormatException: For input string: "Publish on "

如何加入字符串?

【问题讨论】:

  • 你必须自己写EL字符串concat函数,因为EL把+理解为算术运算。
  • @refrigerator 表示在 el 中这种功能不可用?
  • 其实可以,如果EL版本是2.0+,使用concat方法,你用的是哪个版本的ADF Faces?
  • @refrigerator 我有使用 jsf 1.2 的 ADF 11.1.1.6.0

标签: java string jsf el concat


【解决方案1】:

您可以使用 String.concat 函数:

&lt;af:outputText value="#{viewArticle.publish ? 'Publish on '.concat(viewArticle.publishDate).concat(' by ').concat(viewArticle.publishFirstName).concat(' ').concat(viewArticle.publishLastName) : 'Draft version'}"/&gt;

【讨论】:

    【解决方案2】:

    你应该写

    value  = "#{someBean.aProperty}  something you want in between #{someBean.anotherProperty}"
    

    【讨论】:

    • 这适用于属性,但如果您需要连接字符串作为 JSF EL 中的函数参数,则无济于事
    【解决方案3】:

    您必须编写自定义 EL 函数。 This example 会帮助你:)

    【讨论】:

      猜你喜欢
      • 2011-01-12
      • 2015-07-10
      • 1970-01-01
      • 2011-04-08
      • 2011-03-12
      • 1970-01-01
      • 2019-06-11
      相关资源
      最近更新 更多