如何在springMVC中以javascript显示属性文件中的值

How to show values from property file in javascript in a spring MVC

本文关键字:文件 属性 显示 javascript springMVC 中以      更新时间:2023-09-26

我正在message.properties文件中为Ex:"你确定要删除消息吗?"设置硬编码消息。

想要将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.");
    }
}

看看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/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

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

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

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

返回的内容应类似

var属性={p1:'值1',。。。};

然后用html脚本标记将其包含在页面中。