繁体   English   中英

如何将服务器变量注入客户端js / html文件

[英]How to inject server variable to a client side js/html file

如何通过属性文件将服务器上设置的Javascript变量注入到Angular js / JavaScript应用中?

在/ src / main / webapp文件夹下有一个Java Jersey应用程序,该文件具有客户端文件(js,HTML,CSS等),在将其提供给客户端之前,我想设置一个javascript变量。 例如,请考虑以下因素:

    <script type="text/javascript">
        var serverHost = "<%serverHost%>";
    </script>

如何将“ <%serverHost%>”字符串的值替换为将在运行时评估的所选值? 最好通过属性。

这样做的目的是客户端具有Rest调用,并且URL不能是相对的,并且必须是完整的,因为将通过其他/中间人服务器访问该应用程序,因此最终其余的调用需要到达原始主机服务器。 通过属性文件需要该值,以便应用程序/相同的构建可以在不同的环境下工作。

将不胜感激任何想法。

谢谢

您尝试解决的问题需要服务器端渲染。 例如,以您的情况为例,您可以从服务器端的属性文件中检索主机URL,使用控制器将其传递给视图,然后在视图中使用JSP标记生成HTML,该HTML的serverHost变量是动态变化的。组

然而....

当您使用AngularJS时,这种类型的渲染显然违反了Angular的哲学。

您可以在angular.module('myApp').constant('SERVER_URL', 'http://localhost:8000/');创建一个常量angular.module('myApp').constant('SERVER_URL', 'http://localhost:8000/'); 您可以在构建过程中设置此常数的值。

要么

您可以创建一个简单的API,从属性文件中检索主机url值(最好是JSON格式),然后可以简单地调用该API来设置此常数值。

暂无
暂无

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

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