在Java的Spring框架中,将.properties文件中定义的元素存储到JavaScript变量中的最佳方法是什么

In the Spring Framework for Java, what is the best way to store elements defined in the .properties file into a variable in JavaScript?

本文关键字:存储 JavaScript 变量 最佳 是什么 方法 元素 文件 框架 Spring Java      更新时间:2023-09-26

我目前有一个Java Spring项目,其中大部分前端是用AngularJS、HTML等编写的。我现在有一份申请。包含:

的属性文件
    name:myName
    idNum:8888888888
    password:squirrels
    contextPath:/ilovesquirrels-ui
    server:0000
    ui.firstLink: www.google.com
    ui.secondLink: www.yahoo.com
    ui.thirdLink: www.w3schools.com
    myBool: False

前五个似乎自动读到一个我似乎找不到的地方。最后四个,我想在Javascript中访问以存储url和布尔值。我想用JS写一些东西,比如:

    var myLink1 = "something that accesses ui.firstLink in application.properties";
    var myLink2 = "something that accesses ui.secondLink in application.properties";
    var myLink3 = "something that accesses ui.thirdLink in application.properties";

现在,我正在从一个Javascript文件中读取信息,该文件包含一个JSON对象,我最终想要摆脱它。信息和应用是一样的。属性,只是它对最终用户更可见。我如何从我的应用程序获得链接。属性文件到Javascript变量?

我不喜欢把JavaScript和服务器端语言混在一起,因为它:

  • 让编辑的日子更难过
  • 更难读
  • 将JS与服务器端技术耦合
因此,我会将所需的变量表达式作为元标记或数据属性,然后使用JS访问它们。
  • <body data-uifirstlink='<%=properties.getProperty("uifirstLink")%>';使用jQuery访问:$('body').data('uifirstlink');

    注意:理想情况下,这些数据属性应该尽可能与上下文相关(而不是body选择更具体的位置)。

  • <meta name='uifirstlink' content='<%=properties.getProperty("uifirstLink")%>' />使用jQuery访问:$('meta[name="uifirstlink"]').prop('content')

用于检索属性的服务不是好,因为:

  • 您需要等待页面加载以运行调用并使用变量
  • 你有不必要的Ajax调用
  • 在客户端和服务器之间创建更多耦合

最后,您可以考虑cookie或header,但我认为这不是那么简单。

可以这样创建一个jsp文件:

<script>
    var myLink1 = '<%=properties.getProperty("ui.firstLink")%>';
</script>

如果您想使用spring,创建一个PopertiesPlaceHolderConfigurer并在jsp中使用spring标签。看到