gpt4 book ai didi

java - 使用 Struts 2 提供静态文件 (JavaScript)

转载 作者:搜寻专家 更新时间:2023-10-30 21:08:59 24 4
gpt4 key购买 nike

我想将一些 JavaScript 文件放入我的一个包中,并让 Struts 像 /struts/js/foo.js 一样为它们提供服务

Struts 对"template"包中的文件执行此操作(这是 jQuery 插件文件所在的位置,由 struts.ui.templateDir 选项保护)。但是我想将这些文件放入另一个包中;如果我重新定义 struts.ui.templateDir 然后 struts 停止工作,因为它找不到它的模板。

所以问题是:如何告诉 Struts 将 org.foo.some.package.js 中的文件作为 /struts/js/whatever.js 提供服务?

最佳答案

Struts2 可以开箱即用地提供静态内容。默认情况下,静态内容由 DefaultStaticContentLoader 提供,它是 StaticContentLoader 的实现。它会自动搜索以下包:

  • org.apache.struts2.static
  • 模板
  • 静态
  • org.apache.struts2.interceptor.debugging

您可以在名为“packages”的过滤器初始化参数中添加要搜索的其他包。

<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
<init-param>
<param-name>packages</param-name>
<param-value>some.package another.one</param-value>
</init-param>
</filter>

您可以添加多个包,使用逗号或空格或制表符或换行作为分隔符。

顺便说一句,您可以使用此常量控制浏览器是否缓存静态内容:

struts.serve.static.browserCache

关于java - 使用 Struts 2 提供静态文件 (JavaScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4046204/

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