Struts中增多自定义静态文件目录

Struts中增加自定义静态文件目录

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" />
1 楼 greatghoul 2012-06-14  
受益匪浅,谢谢了。