1

我正在开发一个 struts 2 应用程序。问题是,我所有的静态资产(图像/CSS 等)都托管在与我的应用程序的其余部分分开的外部 URL 上。我希望能够将静态资产网站的 url 作为配置设置存储在某处,并在我的所有 .jsp 视图中使用它,例如:

<img src="{{external}}/images/something.png" />

那应该翻译成:

<img src="http://some.site.amazon.com/images/something.png" />

任何想法如何实现?如果在 Struts 2 中没有开箱即用的方式来执行此操作,我可以自己创建一种方式,例如使用自定义 jsp 标记吗?

4

2 回答 2

1

我不知道你是否通过 XML 配置了你的 struts2。但是,如果你这样做了,你可以把它放在你的 ServletContext 声明的某个地方

<init-param>
  <param-name>website_image</param-name>
  <param-value>http://some.site.amazon.com/images/something.png</param-value>
</init-param>

并在你的 JSP 中添加这个

<img src = "${applicationScope['website_image']}"  />
于 2013-09-28T13:56:49.420 回答
1

最简单的方法是创建 jsp 文件,该文件随处可见:

<s:set var="host">http://some.site.amazon.com</s:set>

接着

<img src="<s:property value="#host"/>/images/something.png" />

更可靠的方法是从外部资源获取此主机名,例如 db 并通过 struts 将其传递给表单(与您提供数据以显示给用户的方式相同)

于 2013-09-28T14:01:09.867 回答