Exemple de Struts Hello World :Il n'y a aucune action mappée pour l'espace de noms [/] et l'erreur de nom d'action

StackOverflow https://stackoverflow.com/questions/8991597

Question

je suis un débutant absolu sur Struts2.J'essaie de suivre les tutoriels sur le site Web de Struts.J'ai suivi ce tutoriel.j'ai quelques problèmes avec ça.j'ai créé un projet Web dynamique sur Eclipse.Ensuite j'ai suivi le tuto.Cependant, lorsque j'exécute l'exemple, j'obtiens l'erreur suivante.

There is no Action mapped for namespace [/] and action name [hello] associated with context path [/Hello_World_Struts_2]. - [unknown location]

j'ai la structure de répertoire suivante

enter image description here

Et mon fichier struts.xml est

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

  <constant name="struts.devMode" value="true" />

  <package name="basicstruts2" extends="struts-default" namespace="/">

  <action name="index">
    <result>/index.jsp</result>
  </action>

  <action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute">
    <result name="SUCCESS">/HelloWorld.jsp</result>
  </action>

</package>

</struts>

merci pour vos réponses.

Était-ce utile?

La solution

Le struts.xml Le fichier de configuration doit être sur le chemin de classe (par opposition à WEB-INF).

Le didacticiel lié suppose une version Maven et indique le struts.xml le fichier devrait entrer src/main/resources, qui sera inclus dans le chemin de classe dans les versions Maven.Puisque vous ignorez cette partie, vous souhaiterez probablement la placer à la racine de votre répertoire source.

Autres conseils

Vous devez créer un classes/ dossier sous WEB-INF/ et mets dans ton struts.xml déposer!

Cliquez avec le bouton droit sur le projet.Allez au chemin de construction de propriétés de déploiement et ajoutez tous les fichiers .jar à / web-inf / lib.
, alors vous ne devriez pas obtenir cette erreur.

Strubs.xml doit être situé dans le répertoire: src / struts.xml ..

et web-inf / web.xml Vous devez configurer les jambes de force en fonction du filtre ..

J'ai eu la même erreur et j'ai obtenu une solution en consultant le journal Tomcat lors du redémarrage :doctype manquait dans struts.xml

alors j'ai ajouté

<xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

maintenant ça marche !

J'ai résolu le problème en ajoutant une balise par défaut-action-refer, par exemple

<default-action-ref name="home" />

après la balise de paquet

dans strats.xml

<package name="user" namespace="/" extends="struts-default">

<default-action-ref name="upload" />

J'ai eu le même problème et j'avais fait face à cause de ne pas mentionner correctement l'espace de noms dans Struts.xml.

J'ai ajouté l'extrait suivant dans le web.xml:

<welcome-file>login.jsp</welcome-file>

et aussi faire l'espace de noms comme «/» par défaut ... J'espère que cela répond à votre requête ..

Dans mon cas, j'ai dû renommer Struts.xml ---> struts.xml

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top