2009-08-28 7 views
0

J'avais besoin de créer une application en utilisant Struts2 comme MVC, Hibernate pour l'accès aux données et de printemps dans la logique métier. Et aussi j'avais besoin d'utiliser Velocity pour la présentation et le sitemesh pour le template. L'intégration d'Hibernate et de Spring se fait facilement, mais l'intégration du ressort, du sitemesh et de la vélocité avec Struts2 n'est pas claire pour moi mais je peux utiliser la vélocité, le ressort et le sitemsh individuellement avec Struts2.Velocity + Struts2 + Intégration Sitemesh + Spring + Hibernate Comment configurer web.xml?

Bien sûr, comme illustré dans cet exemple http://www.rkcole.com/articles/struts/crudTutorial/step4.html SiteMesh et le printemps peut être intégré à struts2 configuration web.xml comme

<listener> 
<listener-class> 
org.springframework.web.context.ContextLoaderListener 
</listener-class> 
</listener> 

<filter> 
<filter-name>sitemesh</filter-name> 
<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class> 
</filter> 


<filter-mapping> 
<filter-name>sitemesh</filter-name> 
<url-pattern>/*</url-pattern> 
<dispatcher>FORWARD</dispatcher> 
</filter-mapping> 

Maintenant, ma tâche est d'intégrer la vitesse avec cette combinaison ....... ........

Normalement, pour intégrer la vitesse et struts2 j'utilise les éléments suivants

<servlet-class> 
org.apache.velocity.tools.view.servlet.VelocityViewServlet 
</servlet-class> 
<load-on-startup>10</load-on-startup> 
</servlet> 
<servlet-mapping> 
<servlet-name>velocity</servlet-name> 
<url-pattern>*.vm</url-pattern> 
</servlet-mapping> 

............ .................................................. ...............................

maintenant, ma question est de savoir comment mettre le `

<servlet-mapping> 

`, son seul pour la vitesse, ou simemesh ou doit être réglé différemment

S'il vous plaît laissez-moi savoir comment procéder, si vous pouvez répondre s'il vous plaît avec web.xml complet et d'autres étapes à suivre.

Cordialement

T.Thamilvaanan

Répondre

3

Ya, enfin je me suis ce web.xml après beaucoup de lecture et de recherche ............

<?xml version="1.0" encoding="UTF-8"?> 
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 


<!-- A part in Spring Integration--> 
<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value> 
</context-param> 



<!-- All the filters starts here--> 

<filter> 
    <filter-name>struts-cleanup</filter-name> 
    <filter-class>org.apache.struts2.dispatcher.StrutsPrepareFilter</filter-class> 
</filter> 


<!-- This is used to integrate sitemesh with Struts2--> 

<!-- 
I am using Velocity to create sitemesh decorators so I have to use 

    VelocityPageFilter to integrate 

    Sitemesh (i.e. Sitemesh in velocity) + Struts2  
In the web.xml, the VelocityPageFilter should be placed between the 
    ActionContextCleanUp (StrutsPrepareFilter since 2.1.3 ) and 
and the FilterDispatcher (StrutsExecuteFilter since 2.1.3) 
--> 

<filter> 
    <filter-name>sitemesh</filter-name> 
    <filter-class>org.apache.struts2.sitemesh.VelocityPageFilter</filter-class> 
</filter> 

<filter>  
<filter-name>struts2</filter-name> 
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter</filter-class> 
</filter> 

<filter-mapping> 
<filter-name>struts-cleanup</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

<filter-mapping> 
<filter-name>sitemesh</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 

<filter-mapping> 
    <filter-name>struts</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 



<!-- Spring Integration--> 
<listener> 
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 



    <!--Finally since I am velocity pages in struts2 MVC I am using 
VelocityViewServlet  to Integrate struts2 with Velocity --> 

    <servlet> 
    <servlet-name>velocity</servlet-name> 
    <servlet-class>org.apache.velocity.tools.view.VelocityViewServlet 
    </servlet-class> 
    <init-param> 
    <param-name>org.apache.velocity.toolbox</param-name> 
    <param-value>/WEB-INF/tools.xml</param-value> 
    </init-param> 
    <init-param> 
    <param-name>org.apache.velocity.properties</param-name> 
    <param-value>/WEB-INF/velocity.properties</param-value> 
    </init-param> 
    </servlet> 


<!-- Map *.vm files to Velocity --> 
<servlet-mapping> 
    <servlet-name>velocity</servlet-name> 
    <url-pattern>*.vm</url-pattern> 
</servlet-mapping> 



    <session-config> 
     <session-timeout> 
      30 
     </session-timeout> 
    </session-config> 


    <welcome-file-list> 
     <welcome-file>index.vm</welcome-file> 
    </welcome-file-list> 


    </web-app> 

Espérons que cela est très bien, va tester et vous faire savoir .

Vive ............

Cordialement

Thamilvaanan

Questions connexes