在JSF EL表达式中连接两个字符串[重复]
Posted
技术标签:
【中文标题】在JSF EL表达式中连接两个字符串[重复]【英文标题】:Concat two String in JSF EL expression [duplicate] 【发布时间】: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 technology.amis.nl/2012/01/17/… 这会帮助你:) 【参考方案1】:您可以使用 String.concat 函数:
<af:outputText value="#viewArticle.publish ? 'Publish on '.concat(viewArticle.publishDate).concat(' by ').concat(viewArticle.publishFirstName).concat(' ').concat(viewArticle.publishLastName) : 'Draft version'"/>
【讨论】:
【参考方案2】:你应该写
value = "#someBean.aProperty something you want in between #someBean.anotherProperty"
【讨论】:
这适用于属性,但如果您需要连接字符串作为 JSF EL 中的函数参数,则无济于事【参考方案3】:您必须编写自定义 EL 函数。 This example 会帮助你:)
【讨论】:
以上是关于在JSF EL表达式中连接两个字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章