2017-07-26 2 views
1

tout le monde. J'ai un problème avec l'espace de noms struts2.comment ignorer l'espace de noms par défaut dans Struts2

Tout d'abord, c'est mon environnement de développement. serveur: tomcat (actuellement mon projet est dans le dossier ROOT dans /tomcat/webapps/ROOT) cadre: struts2

Voici mon problème. disons qu'il y a deux pages. admin_index.jsp et front_index.jsp lorsque je veux appeler admin_index.jsp à partir de l'action. j'utilise

<package name="admin" namespace="/dl_adm" extends="struts-default"> 
 
    <action name="/index" method="index"class="kr.co.www2.controller.front.AdminMainController"> 
 
     <result name="success">/WEB-INF/jsp/admin/admin_index.jsp</result> 
 
    </action> 
 
</package>

et il fonctionne très bien en appelant http://.../dl_adm/index.do

et d'appeler cela a un problème pour moi.

<package name="front" namespace="/" extends="struts-default"> 
 
    <action name="/index" method="index"class="kr.co.www2.controller.front.FrontMainController"> 
 
     <result name="success">/WEB-INF/jsp/admin/front_index.jsp</result> 
 
    </action> 
 
</package>

quand je vais le http://.../index.do, il donne 404 ...

bien que je conscient que namespace="/" est pour l'espace de noms par défaut ...

QUESTIONS:

  1. Est-il possible d'ignorer l'espace de noms par défaut? parce que je veux utiliser ce / parce que je veux juste passer par http://.../ et le nom de l'action sans espace de noms ...

  2. ou s'il n'y a pas un moyen de le faire. Aucune suggestion?

Répondre

1
  1. est-il de toute façon d'ignorer l'espace de noms par défaut? parce que je veux l'utiliser/parce que je veux juste passer par http://.../ et le nom d'action sans espace de noms ..

Non, vous ne pouvez pas ignorer l'espace de noms par défaut. L'espace de nom par défaut est vide et il est utilisé si vous omettez l'attribut namespace dans la déclaration du package.


  1. ou s'il ny a pas une façon de le faire. Aucune suggestion?

Je n'utiliserais pas de barres obliques dans le nom de l'action en utilisant la configuration xml. Le mappeur d'action peut incorrectement ajouter une barre oblique supplémentaire au nom de l'action pour déduire le mappage de l'URL.


vous devez donc utiliser

<package name="front" namespace="/" extends="struts-default"> 
    <action name="index" method="index"class="kr.co.www2.controller.front.FrontMainController"> 
     <result name="success">/WEB-INF/jsp/admin/front_index.jsp</result> 
    </action> 
</package> 
+0

ok je voudrais alors changer tous les noms d'action en jsp et actionclass. bien merci :) –