【问题标题】:How to show values from property file in javascript in a spring MVC如何在spring MVC中的javascript中显示属性文件中的值
【发布时间】:2016-07-18 12:06:48
【问题描述】:

我正在为 Ex 设置硬编码消息:“您确定,要删除该消息吗?” ,在 message.properties 文件中。

想要将此消息从 message.properties 转换为 javascript。 请建议我实现这一目标的方法。

例如:

BootstrapDialog.show({
            message: 'Are you sure you want to '+activeStatus+' this message ?',
            title: 'Alert'
});


function handleAjaxError(xhr, textStatus, error) {

    if (textStatus == 'timeout') {
        alert('The server took too long to send the data.');
    } else if (textStatus == "parsererror") {
        alert("Ajax error occured.");
    }
}

【问题讨论】:

    标签: javascript java html spring-mvc


    【解决方案1】:

    看看 Spring 主题标签:

    检索带有给定代码的主题消息,如果代码不是,则检索文本 可解决的。 HTML 转义标志参与页面范围或 应用程序范围的设置(即通过 HtmlEscapeTag 或 web.xml 中的“defaultHtmlEscape”上下文参数)。

    <%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
    <spring:theme code="code.of.your.message" text="Alternative text"/>
    

    【讨论】:

    • 这个我已经用于 JSP 页面,但我希望同样的事情也发生在 js 页面上。
    【解决方案2】:

    您可以像这样从 JSP/JSPF 文件中读取资源属性(messages_en.properties)文件

    <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <fmt:setLocale value="en"/>
    <fmt:setBundle basename="messages"/>
    <script type="text/javascript">
       var activeStatus= '<fmt:message key="activeStatus"/>';
    </script>
    

    或使用 AJAX

    【讨论】:

    • 它按原样显示密钥(此处为“activeStatus”)。不是它的价值。
    • 不要忘记将属性文件放在类路径下,并在使用时包含 JSP。希望这个link有帮助
    • 我已经按照您建议的方式编写了相同的代码,但它仍然以 '???text???' 格式显示文本
    【解决方案3】:

    在您的 javascript 首次初始化之前,您可以进行 ajax 调用以获取 i18n 文本,并将它们分配给 javascript 对象。稍后在您的 js 代码中,您可以从中获取文本。当然,您需要有一个后端控制器来从您的 message.properties 文件中读取文本并响应您的 ajax 请求。

    您需要在此 ajax 请求的回调中加载您的 javascript,否则您的文本值将是未定义的。 (因为 ajax 需要一些时间)。

    【讨论】:

      【解决方案4】:

      编写一个读取所有属性并将 Javascript 代码写入其输出文件的服务。

      返回的内容应该是这样的

      var 属性 = { p1:'value1', ... };

      然后在您的页面中使用 html 脚本标记包含此内容。

      【讨论】:

        猜你喜欢
        • 2013-02-13
        • 2013-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-12
        • 2013-03-23
        • 1970-01-01
        • 2013-06-01
        相关资源
        最近更新 更多