2009-08-11 6 views
0

Ich versuche zu konfigurieren, dass SiteMesh nur für eine bestimmte Teilmenge der Aktionszuordnungen in meiner Struts 2-Anwendung wirksam wird.Konfigurieren von SiteMesh für bestimmte Aktionszuordnungen in Struts 2?

Sagen Sie zum Beispiel, habe ich die folgenden struts.xml Snippet:

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

Ich würde die Ausgabe von „/showForm.action“ wie von SiteMesh eingerichtet werden, sondern für „/widgets/showForm.action "stattdessen leer zurückgegeben werden. Der kritische Teil hier ist, dass ich möchte, dass die JSP-Datei von beiden Aktionszuordnungen wiederverwendet wird.

Aber versuchen Sie, wie ich könnte, kann ich nicht scheinen, SiteMesh-Tag, um eine Zuordnung zu erkennen. Ich muss die Datei "/view/form.jsp" angeben, die stattdessen ausgeschlossen werden soll, und das bedeutet, dass ich die JSP-Datei nicht wiederverwenden kann.

Gibt es eine Möglichkeit, dass ich das umgehen kann?

Ich benutze Struts 2.0.14.

Danke, Wong

+0

Sie decorators.xml unter WEB-INF-Ordner fragen / Widgets/hello.action /* user435657

Antwort

1

gleiche Antwort wie für Using SiteMesh with RequestDispatcher's forward(). Sie können die Art ändern, in der der SiteMesh-Filter eingehenden Anforderungen zugeordnet wird.

Ich glaube, Sie wollen würde:

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

Danke, werde das zuerst ausprobieren. – feicipet