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

发布于 2024-11-08 04:04:35 字数 399 浏览 0 评论 0原文

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

WebContent/public-folder/.

有人知道如何实现这一点吗?

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

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

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

看来我无法摆脱 Struts2 的控制。 谢谢…

I want to publish some resources (folders and files) under a folder inside the WebContent folder of my Struts2 application and allow free directory exploration of that folder contents.

WebContent/public-folder/.

Does somebody know how to achieve this?

All my attempts fail with the classical ‘There is no Action mapped for action name public-folder’

I am using Sitemesh decorator, and have defined next exclude pattern:

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

It seems that I’m unable to escape away from Struts2 control.
Thanks…

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

春庭雪 2024-11-15 04:04:35

警告

没有为操作名称 public-folder 映射的操作

因为过滤器的 /*

<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 (阻止 Struts 2 处理请求)

<!-- 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>

Warning

There is no Action mapped for action name public-folder

because of /* for filter

<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>

Solution

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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文