Struts2 Web应用程序下的公用文件夹探索

时间:2011-05-20 08:55:58

标签: struts2

我想在Struts2应用程序的WebContent文件夹内的文件夹下发布一些资源(文件夹和文件),并允许对该文件夹内容进行免费目录浏览。

的WebContent /公共文件夹/

有人知道如何实现这个目标吗?

我的所有尝试都失败了,经典的“没有动作映射为动作名称公共文件夹”

我正在使用Sitemesh装饰器,并定义了下一个排除模式:

<excludes>            
<pattern>/*public-folder*</pattern>
</excludes>                 

似乎我无法摆脱Struts2控件。 感谢...

1 个答案:

答案 0 :(得分:5)

警告

  

没有为动作名称公共文件夹

映射的动作

因为/*过滤器

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<强>解决方案

struts.xml Preventing Struts 2 from Handling a Request

<!-- value : regular expressions -->
<constant name="struts.action.excludePattern" value="/public-folder/.*?" />


[Tomcat] /conf/web.xml

<init-param>
    <param-name>listings</param-name>
    <param-value>true</param-value> <!-- default is false -->
</init-param>