我正在尝试将sitemesh配置为仅对Struts 2应用程序中的动作映射的某些子集生效。
举例来说,我有以下struts.xml代码段:
<package name="default" namespace="/" extends="struts-default">
<action name="showForm">
<result>/view/form.jsp</result>
</action>
</package>
<package name="widgets" namespace="/widgets" extends="struts-default">
<action name="showForm">
<result>/view/form.jsp</result>
</action>
</package>
我希望“ /showForm.action”的输出由SiteMesh装饰,但希望“ /widgets/showForm.action”返回空。这里的关键部分是我希望两个动作映射都可以重用JSP文件。
但是,请尝试尝试,似乎无法获得SiteMesh的标签来识别映射。我必须指定要排除的文件“ /view/form.jsp”,这意味着我将无法重用JSP文件。
有什么办法可以解决这个问题?
我正在使用Struts 2.0.14。
谢谢,
王
最佳答案
与Using SiteMesh with RequestDispatcher's forward()的答案相同。您可以更改sitemesh过滤器映射到传入请求的方式。
我想你想要:
<filter-mapping>
<filter-name>sitemesh</filter-name>
<servlet-name>MyServlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
关于java - 在Struts 2中为特定的 Action 映射配置SiteMesh?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1259613/