一尘不染

如何将javascript文件编译为jsp?

jsp

我希望能够将JavaScript文件上的JSP servlet用于i18n。以以下JavaScript为例:

function you_did_it_wrong() {
    alert("<fmt:message key="you.did.it.wrong" />");
}

我试图像这样在我的web.xml中设置JspServlet:

<servlet>
    <servlet-name>preprocessor</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>preprocessor</servlet-name>
    <url-pattern>*.js</url-pattern>
</servlet-mapping>

但是,当我调用js文件时,它会返回,而不会被servlet处理。


阅读 258

收藏
2020-06-10

共1个答案

一尘不染

博佐给出了正确的提示。但是,我想回答 具体的 问题。


当未在文件顶部声明taglib 时,给定的代码片段将 失败fmt

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:setLocale value="${language}" />
<fmt:setBundle basename="com.example.i18n.text" />

因此,只需确保它在JS文件中位于上方即可。

JSP servlet条目看起来不错,尽管我认为我宁愿使用以下代码:

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

jspservlet-nameTomcat内置的JspServlet,您可以在其中找到它/conf/web.xml

2020-06-10