繁体   English   中英

在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?

我目前有一个Java Spring项目,其中大部分是AngularJS,HTML等。我目前有一个application.properties文件,其中包含:

    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

前五个似乎自动读到我似乎找不到的地方。 最后四个,我想用Java语言访问以存储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文件中读取信息,该Javascript文件包含我最终想要摆脱的JSON对象。 它与application.properties相同,只是对最终用户更可见。 如何获得从application.properties文件到Javascript变量的链接?

您可以使用以下命令创建一个jsp文件:

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

如果要使用spring,请创建PopertiesPlaceHolderConfigurer并在jsp中使用spring标记。 这里

我不喜欢将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或标头,但我认为这不是那么简单。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM