gpt4 book ai didi

java - struts 2 & sitemesh 中不同环境的不同资源文件root

转载 作者:行者123 更新时间:2023-11-28 23:38:00 28 4
gpt4 key购买 nike

我对 Struts 2 和 Sitemesh 还很陌生。我是一名前端开发人员,需要更改很多 CSS 和 JS 文件。我想要的是一种方法,在这种方法中,我不必为我在 JS 和 CSS 文件中更改的每个字符重新部署整个元素。

我认为有用的是在 apache 中创建一个虚拟主机,将根转发到 struts 资源文件夹(Tomcat 在 8080 上工作,apache 在 80 上工作)。在装饰器文件中,我定义了一个变量,我将在需要部署时更改该变量。在工作模式下会是这样的:

<s:set var="resourceRoot">http://resource-folder.localhost</s:set>

对于 CSS 链接,我认为有这样的东西会很好:

<link rel="stylesheet" href="<s:url value='${resourceRoot}/resources/css/styles.css' />" rel="stylesheet" />

但是,当我尝试部署 tomcat 时会传递以下消息:

org.apache.jasper.JasperException: /WEB-INF/decorators/default.jsp (line: 20, column: 20) According to TLD or attribute directive in tag file, attribute value does not accept any expressions

什么是我在这里想要实现的最佳实践?

提前致谢!

最佳答案

一个简单的解决方法是将 css 文件托管在一个简单的外包网络服务器上,例如用 python :

$ cd /your/dir/to/your/sources
$ python -m SimpleHTTPServer

... 并将您的 java 指向此服务器(例如:localhost/styles.css 等)

编辑:对不起,我现在读到你的问题是属性标签,你已经在尝试我发布的方式....

为什么你需要这个变量,你不能在你的 java 代码中设置 URL 吗?然后,您将能够使用运行时参数来决定是否需要从外部服务器获取源代码。

关于java - struts 2 & sitemesh 中不同环境的不同资源文件root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22914326/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com