Конфигурирование SiteMesh для конкретных сопоставлений действий в Struts 2? - PullRequest
0 голосов
/ 11 августа 2009

Я пытаюсь настроить 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.

Спасибо, Wong

1 Ответ

1 голос
/ 12 августа 2009

Тот же ответ, что и для Использование SiteMesh с запросом forwardDispatcher () . Вы можете изменить способ отображения фильтра Sitemesh на входящие запросы.

Думаю, вы захотите:

<filter-mapping>
    <filter-name>sitemesh</filter-name>
    <servlet-name>MyServlet</servlet-name>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>
...