2010-06-04 5 views
3

Je suis en train d'apprendre le framework Struts Apache et j'ai écrit une petite application qui fait des inscriptions de classe, mais chaque fois que j'essaie de charger mon application, il suffit recrache l'exception suivante:Apache Struts: ne peut pas récupérer ActionForward

javax.servlet.ServletException: 
    org.apache.jasper.JasperException: 
    javax.servlet.ServletException: 
     javax.servlet.jsp.JspException: Cannot create rewrite URL: 
      java.net.MalformedURLException: Cannot retrieve ActionForward named adminLogin 

ma page index.jsp ressemble:

<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%> 
<logic:redirect forward="showLogin"/> 

Les parties pertinentes de mon struts-config.xml:

<global-forwards> 
    <forward name="showLogin" path="/showLogin.do" /> 
</global-forwards> 
<action-mappings> 
    <action path="/showLogin" forward="/pages/choose.jsp" /> 
    <action path="/adminLogin" forward="/pages/adminLogin.jsp" /> 
</action-mappings> 

Et enfin le fichier choose.jsp:

<%@ page import="javax.sql.*"%> 
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> 
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> 

<h1>Who are you?</h1> 
<ul> 
    <li><html:link forward="adminLogin">Administrator</html:link></li> 
    <li><html:link forward="instructorLogin">Instructor</html:link></li> 
    <li><html:link forward="studentLogin">Student</html:link></li> 
</ul> 
+2

Si vous apprenez Struts for Work, alors, bon, d'accord. Si vous l'apprenez par plaisir, arrêtez-vous, tournez-vous et courez vers autre chose. Soit Struts 2 ou Stripes au moins. Struts 1 était nouveau en 1999, mais n'offre pratiquement aucune valeur aujourd'hui. JSP 2.0 avec JSTL et EL et un cadre moderne comme Stripes ou Struts 2 sont beaucoup plus dignes de votre temps. Mieux vaut apprendre les Servlets crus que les Struts 1. –

+1

C'est pour l'école en fait et je n'ai pas le choix en la matière. Si j'avais le choix, je l'aurais déjà abandonné. C'est très frustrant et abstrait – nicotine

Répondre

2

Je ne fais pas Struts, alors ne me épingler pas, mais l'erreur semble indiquer qu'il attend un <forward name="adminLogin" /> quelque part dans la configuration. Vous pourriez vouloir avoir la même chose pour les deux autres attaquants.

Questions connexes