我正在尝试将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/

10-11 22:25