I need to create a callback for <h:commandButton>
while as a parameter I need to pass an argument that is string-concatenated with an external parameter id:
I tried nesting an EL expression something like this:
<h:commandButton ... action="#{someController.doSomething('#{id}SomeTableId')}" />
However this failed with an EL exception. What is a right syntax/approach to do this?
If you're already on EL 3.0 (Java EE 7; WildFly, Tomcat 8, GlassFish 4, etc), then you could use the new
+=
operator for this:If you're however not on EL 3.0 yet, and the left hand is a genuine
java.lang.String
instance (and thus not e.g.java.lang.Long
), then use EL 2.2 capability of invoking direct methods with arguments, which you then apply onString#concat()
:Or if you're not on EL 2.2 yet, then use JSTL
<c:set>
to create a new EL variable with the concatenated values just inlined in value:See also: