Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 如何在EL表达式中连接字符串?_Jsf_El_String Concatenation - Fatal编程技术网

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)}" />