我可以从JavaScript文件调用JSTL函数吗?

我可以从JavaScript文件调用JSTL函数吗?,javascript,jstl,jsp-tags,Javascript,Jstl,Jsp Tags,问题如下:当我在JSP页面中使用JSTL函数编写JavaScript时,它会正常呈现,理解我想要从中获得的一切。但为了让代码更清晰,我想将JavaScript从JSP中的标记移动到一个单独的文件中。但是当我试图从文件中调用相同的函数时,它不起作用,只是作为一个简单的文本附加到我的页面上。 下面是一个代码示例,使其更易于理解 ...other JSP stuff <script> $.each(data, function(index, item) {

问题如下:当我在JSP页面中使用JSTL函数编写JavaScript时,它会正常呈现,理解我想要从中获得的一切。但为了让代码更清晰,我想将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>
…其他JSP内容
$。每个(数据、功能(索引、项目){
$(“#持有人”)。追加(
'' +
'项目价格+'
''
);
});
这对我来说非常合适。从资源包中提取并设置实际消息,而不是fmt:message函数

但是,当我将相同的代码移动到一个单独的文件中时,所有这些都不会转换并保持纯文本

我知道,JSP是在服务器上运行的,所有使用这些函数的转换都是在实际加载javascript之前完成的

但也许有人知道一种使这项工作成功的方法


提前感谢。

从JavaScript运行java方法或jstl函数(jstl函数也是java方法)是不可能的。因为java方法在服务器端运行,而javascript在客户端运行。

如果您想在客户端运行java方法,您必须为此创建java小程序。您可以在小程序中使用JavaScript运行java方法。有关详细信息,请参见此


我希望这将帮助您

您可以为此使用DWR。一个旧的框架,但如果这正是您在问题中所寻找的,那么它仍然适用。


DWR是一个Java库,它使服务器上的Java和浏览器中的JavaScript能够尽可能简单地进行交互和调用。

我的回答对您有帮助吗?谢谢您的建议,但我正在尝试尽可能简单地实现所有内容,使用Spring 4并注意像小程序这样过时的东西。现在,我刚刚创建了另一个JSP文件,其中包含使用JSTL标记的所有脚本,并在需要时导入该文件以了解解决方案。我从来没有听说过这个图书馆,但关于他们网站上的描述,这确实是我一直在寻找的。我会尽力深入研究它,并用它来满足我的需要(非常欢迎,很高兴我的回答帮助了你,干杯!