Jsf 如何在EL表达式中连接字符串?
我需要为Jsf 如何在EL表达式中连接字符串?,jsf,el,string-concatenation,Jsf,El,String Concatenation,我需要为创建回调,而作为参数,我需要传递一个与外部参数id串联的字符串参数: 我尝试嵌套一个EL表达式,如下所示: <h:commandButton ... action="#{someController.doSomething('#{id}SomeTableId')}" /> 但是,由于EL异常,此操作失败。什么是正确的语法/方法来实现这一点?如果您已经使用了EL 3.0(Java EE 7;WildFly、Tomcat 8、GlassFish 4等),那么您可以使用新的+
创建回调,而作为参数,我需要传递一个与外部参数id串联的字符串参数:
我尝试嵌套一个EL表达式,如下所示:
<h:commandButton ... action="#{someController.doSomething('#{id}SomeTableId')}" />
但是,由于EL异常,此操作失败。什么是正确的语法/方法来实现这一点?如果您已经使用了EL 3.0(Java EE 7;WildFly、Tomcat 8、GlassFish 4等),那么您可以使用新的
+=
操作符来实现这一点:
<h:commandButton ... action="#{someController.doSomething(id += 'SomeTableId')}" />
或者,如果您还未使用EL 2.2,则使用JSTL
创建一个新的EL变量,该变量的串联值仅内联在值中:
<c:set var="tableId" value="#{id}SomeTableId" />
<h:commandButton ... action="#{someController.doSomething(tableId)}" />
另见:
<c:set var="tableId" value="#{id}SomeTableId" />
<h:commandButton ... action="#{someController.doSomething(tableId)}" />