【问题标题】:How to use EL in external javascript file如何在外部 javascript 文件中使用 EL
【发布时间】:2023-03-25 09:22:01
【问题描述】:

我有一个在 xhtml 页面中定义的 javascript 函数,并且我能够在其中使用 EL,现在当我将该函数移动到外部 JS 时文件,我不能像这样使用 EL:

#{request.contextPath}

#{myBackingBean.myProperty}

所以,我想知道如何在外部 JS 中完成类似的事情?

【问题讨论】:

标签: javascript jsf jakarta-ee jsf-2 el


【解决方案1】:

你可以只为外部java脚本的函数声明一些输入参数。当在JSF中调用外部java脚本的函数时,你可以使用EL表达式来访问bean中的值并将它们传递给外部java script 的函数。

类似这样的:

function someExternalJsFunction(var1,var2,...,varX)
{

}

然后在 JSF 中:

<h:commandLink action="....."  
onclick="someExternalJsFunction(#{request.contextPath},#{myBackingBean.myProperty},....)"/> 

【讨论】:

  • 我使用了这个解决方案,听起来不错,但是顺便说一句,javascript 调用中的 el 需要用单引号括起来。
【解决方案2】:

这不是一件容易的事。但是您可以利用 HTML5 data-* 属性并将您的 EL 表达式放在那里,稍后从 JavaScript 中读取它们。

【讨论】:

    猜你喜欢
    • 2013-03-03
    • 2011-02-04
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-20
    • 1970-01-01
    相关资源
    最近更新 更多