【问题标题】:nesting JSF Expressionlanguage and JavaScript嵌套 JSF 表达式语言和 JavaScript
【发布时间】:2012-10-19 00:21:45
【问题描述】:

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

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

显然这行不通,那么如何在JSF EL中嵌套一点JSF EL呢?

ps.:我知道我可以创建两个命令链接并将条件移动到“rendered”属性中,但我想了解这个连词的关系。

【问题讨论】:

    标签: javascript jsf onclick el nested


    【解决方案1】:

    您不能嵌套 EL 表达式,也不能在 EL 表达式中连接字符串。使用 } 而不是 ) 关闭函数调用也会导致 JS 语法错误。

    使用&lt;c:set&gt; 预先准备嵌套表达式,您可以在结果字符串值中内联所需的表达式:

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

    这样你就可以打印如下:

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

    【讨论】:

    • 感谢您澄清这一点。 JS 语法错误是一个错字,不是问题的一部分。
    猜你喜欢
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 2011-06-24
    • 2015-02-03
    • 2012-05-28
    • 1970-01-01
    • 2011-01-13
    • 2013-09-10
    相关资源
    最近更新 更多