2009-08-11 4 views
0

Я пытаюсь настроить sitemesh для вступления в силу только для некоторых подмножеств действий в приложении Struts 2.Настройка 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

+0

вы спрашиваете decorators.xml в папке WEB-INF <декораторы defaultdir = "/ декораторов"> <декоратор имя = "пустой"> /виджеты/hello.action <декоратор имя = "основной" страницы = "main.vm"> /* user435657

ответ

1

тот же ответ, как для Using SiteMesh with RequestDispatcher's forward(). Вы можете изменить способ сопоставления фильтра sitemesh с входящими запросами.

Я думаю, что вы бы хотели:

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

Спасибо, попробуй это первым. – feicipet

 Смежные вопросы

  • Нет связанных вопросов^_^