嵌套JSF Expressionlanguage和JavaScript

嵌套JSF Expressionlanguage和JavaScript,javascript,jsf,onclick,el,nested,Javascript,Jsf,Onclick,El,Nested,对于JSF表达式语言与javaScript的关系,我可能有错误的想法。 我想做的是在js中嵌套一点JSFEL。应该是这样的: <h:commandLink onclick="#{ condition ? 'jsFunction('#{bean.property}delimiter#{bean.prop2}')' :''}" action="... 不能嵌套EL表达式,也不能在EL表达式中串联字符串。通过使用}而不是)关闭函数调用,还出现了JS语法错误 使用预先准备嵌套表达式,您可以将所需

对于JSF表达式语言与javaScript的关系,我可能有错误的想法。 我想做的是在js中嵌套一点JSFEL。应该是这样的:

<h:commandLink onclick="#{ condition ? 'jsFunction('#{bean.property}delimiter#{bean.prop2}')' :''}" action="...

不能嵌套EL表达式,也不能在EL表达式中串联字符串。通过使用
}
而不是
关闭函数调用,还出现了JS语法错误

使用
预先准备嵌套表达式,您可以将所需表达式内联到结果字符串值中:

<c:set var="jsFunction" value="jsFunction('#{bean.property}delimiter#{bean.prop2}')" />

这样,您可以按如下方式打印:

<h:commandLink ... onclick="#{condition ? jsFunction : ''}" />

不能嵌套EL表达式,也不能在EL表达式中串联字符串。通过使用
}
而不是
关闭函数调用,还出现了JS语法错误

使用
预先准备嵌套表达式,您可以将所需表达式内联到结果字符串值中:

<c:set var="jsFunction" value="jsFunction('#{bean.property}delimiter#{bean.prop2}')" />

这样,您可以按如下方式打印:

<h:commandLink ... onclick="#{condition ? jsFunction : ''}" />


感谢您的澄清。JS语法错误是一个输入错误,而不是问题的一部分。谢谢你的澄清。JS语法错误是一个输入错误,而不是问题的一部分。