我能以某种方式从 JavaScript 文件中调用 JSTL 函数吗?
Can I somehow call JSTL function from JavaScript file?
问题如下:当我在我的JSP页面中写JavaScript时,使用JSTL函数,它呈现正常,理解我想要的一切。但是为了使我的代码清晰,我想将 JavaScript 从 JSP 中的标记移动到一个单独的文件中。但是当我尝试从文件中调用相同的函数时,它不起作用,只是作为简单文本附加到我的页面。
下面是代码示例,使它更容易理解。
...other JSP stuff
<script>
$.each(data, function(index, item) {
$('#holder').append(
'<tr>' +
'<td>item.price + ' <fmt:message key="currency.default"/></td>'
'</tr>'
);
});
</script>
这非常适合我。来自资源包的实际消息被拉取并设置,而不是 fmt:message 函数。
但是当我将相同的代码移动到一个单独的文件时,所有这些都不会转换并保持纯文本。
据我所知,JSP 在服务器上提供服务,所有使用这些函数的转换都比实际 javascript 加载要早得多。
但也许有人知道使这项工作可行的特定技巧?
提前致谢。
运行 java 方法或来自 JavaScript 的 jstl 函数(jstl 函数也是 java 方法)是不可能的。因为 java 方法 运行 在服务器端,但 java 脚本在客户端。
如果您想在客户端使用 运行 java 方法,您必须为此创建 java 小程序。您可以在小程序中使用 运行 java 方法和 JavaScript 方法。有关详细信息,请参阅此 Java Applet Tutorial
希望对您有所帮助
您可以为此使用 DWR。一个旧的框架,但如果这正是您在问题中寻找的东西,那么它仍然适用。
http://directwebremoting.org/dwr/index.html
DWR 是一个 Java 库,它使服务器上的 Java 和浏览器中的 Java 脚本能够尽可能简单地相互交互和调用。
问题如下:当我在我的JSP页面中写JavaScript时,使用JSTL函数,它呈现正常,理解我想要的一切。但是为了使我的代码清晰,我想将 JavaScript 从 JSP 中的标记移动到一个单独的文件中。但是当我尝试从文件中调用相同的函数时,它不起作用,只是作为简单文本附加到我的页面。 下面是代码示例,使它更容易理解。
...other JSP stuff
<script>
$.each(data, function(index, item) {
$('#holder').append(
'<tr>' +
'<td>item.price + ' <fmt:message key="currency.default"/></td>'
'</tr>'
);
});
</script>
这非常适合我。来自资源包的实际消息被拉取并设置,而不是 fmt:message 函数。
但是当我将相同的代码移动到一个单独的文件时,所有这些都不会转换并保持纯文本。
据我所知,JSP 在服务器上提供服务,所有使用这些函数的转换都比实际 javascript 加载要早得多。
但也许有人知道使这项工作可行的特定技巧?
提前致谢。
运行 java 方法或来自 JavaScript 的 jstl 函数(jstl 函数也是 java 方法)是不可能的。因为 java 方法 运行 在服务器端,但 java 脚本在客户端。
如果您想在客户端使用 运行 java 方法,您必须为此创建 java 小程序。您可以在小程序中使用 运行 java 方法和 JavaScript 方法。有关详细信息,请参阅此 Java Applet Tutorial
希望对您有所帮助
您可以为此使用 DWR。一个旧的框架,但如果这正是您在问题中寻找的东西,那么它仍然适用。 http://directwebremoting.org/dwr/index.html
DWR 是一个 Java 库,它使服务器上的 Java 和浏览器中的 Java 脚本能够尽可能简单地相互交互和调用。