2017-06-05 6 views
1

J'essaye de faire tourner une application en utilisant à la fois Struts1 et Struts2. Raison d'être en cours de migration mais il y a beaucoup de Struts1 que nous voulons faire peu à peu pas big bang ... Je sais que cela peut être faitExécution de Struts 1 et Struts 2

De toute façon je ne peux pas obtenir mon filtre S2 pour ramasser mon URL et non des erreurs sont données lorsque j'accède à une URL * .action! Toutes les pages S1 fonctionnent toujours correctement. Mon Web XML contient la configuration S2 ...

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

<filter-mapping> 
    <filter-name>struts2</filter-name> 
    <url-pattern>*.action</url-pattern> 
</filter-mapping> 

et le servlet S1

<servlet> 
    <servlet-name>action</servlet-name> 
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> 
    <load-on-startup>2</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>action</servlet-name> 
    <url-pattern>*.do</url-pattern> 
</servlet-mapping> 

J'ai aussi mis en place une simple classe TestStruts2Action prorogeant l'action qui a littéralement juste eu un OSSJ en elle pour prouver il a atteint l'action. XMLConfig »

<package name="main" extends="struts-default"> 
     <action name="testStruts2" class="com.myclass.TestStruts2Action"> 
     <result name="success">test/testStruts2.jsp</result> 
     </action> 
    </package> 

Tout ce que je reçois est les applications page 404 quand vous tapez l'URL /MyApp/testStruts2.action

Mon JSP est littéralement juste un exemple HelloWorld et tenue à l'essai/testStruts2.jsp

Des idées? Sans erreur lors du démarrage ou Consigné lorsque je frappe les URL que je suis à une perte de quoi essayer la prochaine ...

Tentatives ajoutant namespaces

+0

Avez-vous des erreurs au démarrage? Essayez d'ajouter 'namespace ="/"' à 'package'. Quelle version de S2 utilisez-vous? –

+0

@AleksandrM a essayé d'ajouter namespace = "/" et même ... Utiliser S2 2.5.10 Zéro erreurs au démarrage et zéro erreurs enregistrées lorsque j'accède à l'URL autre que ma page 404 introuvable! Je suis perplexe –

Répondre

1

Ok compris ce que je faisais mal ...

Mon fichier struts.xml a été placé à côté de l'ancien fichier struts-config dans WEB-INF et le nouveau filtre ne le lisait pas. Je this post à comprendre cela et ma déclaration de modifié mon filtre web.xml trop

<filter> 
    <filter-name>struts2</filter-name> 
    <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> 
    <init-param> 
    <param-name>config</param-name> 
    <param-value>struts-default.xml,struts-plugin.xml,struts.xml</param-value> 
    </init-param> 

Cependant, cela a pris mon attention

@AleksandrM

« Aussi l'ordre dans lequel vous définissez des fichiers XML est également important. Par exemple. Vous ne pouvez pas étendre le paquet struts-default (à partir de struts-default.xml) dans votre fichier struts.xml s'il n'est pas encore chargé. '

@AleksandrM Voulez-vous dire que si vous déplacez l'emplacement struts.xml, vous ne pouvez pas étendre les struts-default dans les déclarations du package ??