ala*_*mar 12 java struts2 static-resource serving
我想在我的一个软件包中放入一些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.它会自动搜索以下包:
您可以在名为"packages"的过滤器init参数中添加要搜索的其他包.
<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>
Run Code Online (Sandbox Code Playgroud)
您可以添加多个包,使用逗号或空格或制表符或新行作为分隔符.
顺便说一句,您可以使用此常量控制浏览器是否缓存静态内容:
struts.serve.static.browserCache
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2801 次 |
| 最近记录: |