Struts中提供了直接访问静态文件的机制,例如图片、css文件、js文件等。
这对于开发plugin而言很重要。一个完整的plugin很可能包含了UI界面元素,如果没有直接访问静态文件的机制,那么plugin中的UI界面将无法完整的封装在jar包中,导致plugin最终是不完整的。
关于静态文件内容的访问可以参考官方资料:
http://struts.apache.org/2.3.1.2/docs/static-content.html
默认的struts提供了一个static目录让开发者存放静态文件,该目录应放置在你源文件的根目录下,这样在页面中你就可以通过象“static/childdir/some.css”这样的路径来引用这些静态文件资源。
如果你不想受限于struts默认提供的这个static目录,你也可以自定义静态文件目录,这样做:
1. 自己写一个StaticContentLoader接口的实现类或者继承DefaultStaticContentLoader,建议继承。
2. 覆盖DefaultStaticContentLoader类的canHandle、cleanupPath、getAdditionalPackages三个方法。(这三个方法很简单,一看就懂,就不说怎么修改了。)
3. 在struts-plugin.xml配置中配置使用自定义的StaticContextLoader类。
<constant name="struts.staticContentLoader" value="xx.xxx.YourStaticContentLoader" />