【发布时间】:2023-03-25 09:22:01
【问题描述】:
我有一个在 xhtml 页面中定义的 javascript 函数,并且我能够在其中使用 EL,现在当我将该函数移动到外部 JS 时文件,我不能像这样使用 EL:
#{request.contextPath}
#{myBackingBean.myProperty}
所以,我想知道如何在外部 JS 中完成类似的事情?
【问题讨论】:
标签: javascript jsf jakarta-ee jsf-2 el
我有一个在 xhtml 页面中定义的 javascript 函数,并且我能够在其中使用 EL,现在当我将该函数移动到外部 JS 时文件,我不能像这样使用 EL:
#{request.contextPath}
#{myBackingBean.myProperty}
所以,我想知道如何在外部 JS 中完成类似的事情?
【问题讨论】:
标签: javascript jsf jakarta-ee jsf-2 el
你可以只为外部java脚本的函数声明一些输入参数。当在JSF中调用外部java脚本的函数时,你可以使用EL表达式来访问bean中的值并将它们传递给外部java script 的函数。
类似这样的:
function someExternalJsFunction(var1,var2,...,varX)
{
}
然后在 JSF 中:
<h:commandLink action="....."
onclick="someExternalJsFunction(#{request.contextPath},#{myBackingBean.myProperty},....)"/>
【讨论】:
这不是一件容易的事。但是您可以利用 HTML5 data-* 属性并将您的 EL 表达式放在那里,稍后从 JavaScript 中读取它们。
【讨论】: