如何在javascript文件中使用JSTL和其他Spring标签?

发布于 2024-12-12 12:46:21 字数 1542 浏览 1 评论 0原文

我有两个文件,第一个是 list.jsp,另一个是 loadmore.js 我在 list.jsp 文件中调用 loadmore.js 。我想使用 等标签在我的 JavaScript 文件中。但我不知道如何在 JavaScript 文件中使用或导入这些库。

你能帮忙如何做到这一点吗?


更新:将以下内容添加到我的配置中:

<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
        <param-name>fork</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>xpoweredBy</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>compilerSourceVM</param-name>
        <param-value>1.5</param-value>
    </init-param>
    <init-param>
        <param-name>compilerTargetVM</param-name>
        <param-value>1.5</param-value>
    </init-param>
    <load-on-startup>3</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.js</url-pattern>
</servlet-mapping>

但现在我在 FireBug 控制台中收到以下消息。

missing ) after argument list console.log("<spring:message code="label.empty" />"); 

I have two files, first one is list.jsp and other one is loadmore.js
I am calling loadmore.js in list.jsp file. I want to use tags like <spring:message code="loadMore" /> and <c:out value="${loadmore}" /> in my JavaScript file. But I don't know how to use or import these libraries in JavaScript file.

Can you help how to do this?


Update: added the following to my configuration:

<servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
        <param-name>fork</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>xpoweredBy</param-name>
        <param-value>false</param-value>
    </init-param>
    <init-param>
        <param-name>compilerSourceVM</param-name>
        <param-value>1.5</param-value>
    </init-param>
    <init-param>
        <param-name>compilerTargetVM</param-name>
        <param-value>1.5</param-value>
    </init-param>
    <load-on-startup>3</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.js</url-pattern>
</servlet-mapping>

But now I get the following message in my FireBug console.

missing ) after argument list console.log("<spring:message code="label.empty" />"); 

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

英雄似剑 2024-12-19 12:46:22

您可以将所有外部 JavaScript 放入一个函数中,该函数接受 .jsp

在您的 .jsp 中(我使用的是 jQuery):

<script src='<spring:url value="/resources/script.js"/>'></script>

<script>
$(function() {
    var messages = {
        some_message: '<spring:message code="some.message" text="some.message"/>'   
    };

    init(messages);
});

然后在您的 .js 文件中:

function init(msg) {
    console.log(msg.some_message);
}

You can put all your external JavaScript inside a function that accepts variables defined in a <script> tag inside the .jsp.

In your .jsp (I'm using jQuery):

<script src='<spring:url value="/resources/script.js"/>'></script>

<script>
$(function() {
    var messages = {
        some_message: '<spring:message code="some.message" text="some.message"/>'   
    };

    init(messages);
});

And then in your .js file:

function init(msg) {
    console.log(msg.some_message);
}
逆光飞翔i 2024-12-19 12:46:22

为了在 JS 文件中使用 JSP 标签,您需要对其应用 JSP 引擎(例如,如果是 Tomcat 服务器,则为 Jasper)。为此,您可以将以下内容添加到 web.xml 文件中:

<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.js</url-pattern>
</servlet-mapping>

In order to use JSP tags in a JS file, you need to apply your JSP Engine to it (e.g. Jasper in case of a Tomcat server). To do that, you could add the following to you web.xml file:

<servlet-mapping>
    <servlet-name>jsp</servlet-name>
    <url-pattern>*.js</url-pattern>
</servlet-mapping>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文