STRUTS/Cannot retrieve definition for form bean null on acti

Status
Nicht offen für weitere Antworten.

Marty77

Mitglied
Hallo,

ich habe das Problem dass meine Form Klasse bzw. die FormBean Instanz nicht gefunden wird.
Vollständige Meldung lautet:
javax.servlet.ServletException: Cannot retrieve definition for form bean null on action /view/ArtikelErfassung.do
Habe sehr lange versucht dass Problem selber zu lösen und viele Themen gelesen, finde den Fehler aber einfach nicht.
Deshalb wäre ich für etwas Hilfe sehr dankbar! (':toll:')


Ist leider einiges an Code, aber ohne wird mir wohl niemand einen Tipp geben können wo der Fehler liegen könnte..
Danke im vorraus!

Code:
ArtikelErfassung.jsp:

<%@ taglib uri='/struts-html' prefix='html' %>
<%@taglib uri='/struts-logic' prefix='logic'%>
<%@ taglib uri='/struts-bean' prefix='bean' %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"  %>

<c:import url="/banner"/>

<html>
    <head>
    <title><bean:message key="ArtikelErfassung.jsp.title"/></title> 
     </head>
<body>
    

<font face="Frutiger Light">[b]Anzeige Erfassung [/b]</font></p>
   
    <html:errors/>     
 	
    <html:form action='/view/ArtikelErfassung.do'>
      <table>                   
       <tr>
	 <td>Artikelnummer</td><td><html:text property="artikelNummer"/></td>
       </tr>
       <tr>
	 <td>Titel </td> <td> <html:text property="titel"/> </td>
       </tr>
       <tr>
	  <td>Autor</td> <td><html:text property="autor"/> </td>
       </tr>
       <tr>
	   <td>Preis </td> <td><html:text property="preis"/> </td>
	</tr>
	 <tr>
	    <td>Erscheinungsjahr</td>
            <td><html:textproperty="erscheinungsJahr"/> </td>
	  </tr>
	   <tr>
	      <td>Verlag </td> <td>	<html:text property="verlag"/> </td>
	  </tr>
	  <tr>
	       <td>Beschreibung </td> <td><html:text property="beschreibung"/>
               </td>
	  </tr>
	  <tr>
	      <td>Seitenzahl / Abspielzeit(min)</td> <td><html:text  
                     property="seitenZahl"/> </td>
	  </tr>	
	   <tr>
	      	<td>

  </p></td>
	   </tr>
	    <tr>
   		<td><html:submit>ArtikelErfassung </html:submit></td>
                <td>  <html:reset>Zuruecksetzen</html:reset></td>  
       	   </tr>
    </table>
  </html:form> 	

   </body>
</html>


STRUTS-CONFIG.XML:
.
.
<struts-config>


 
  
<form-beans>
	<form-bean name="AdministratorLoginForm"  type="actions.AdministratorLoginForm"/>
	
	<form-bean name="ArtikelErfassungForm"
			   type="actions.ArtikelErfassungForm">
		<form-property name="artikelNummer" type="java.lang.String"/>
    	        <form-property name="titel" type="java.lang.String"/>
    	        <form-property name="autor" type="java.lang.String"/>
    	        <form-property name="preis" type="java.lang.String"/>
    	        <form-property name="erscheinungsJahr" type="java.lang.String"/>
    	        <form-property name="verlag" type="java.lang.String"/>
    	        <form-property name="beschreibung" type="java.lang.String"/>
    	        <form-property name="seitenZahl" type="java.lang.String"/>
       </form-bean>
      
 </form-beans>
 
  
<action-mappings>   
 
       <action path="/view/AdministratorLogin"   
                     type="actions.AdministratorLoginAction"
               	     name="AdministratorLoginForm"
               	     scope="request"
               	      validate="true"
              	     input="/view/AdministratorLogin.jsp">
              <forward name="artikelErfassung"	
                                path="/view/ArtikelErfassung.jsp"/>
       	</action>
     
       <action path="/view/ArtikelErfassung"
        		type="actions.ArtikelErfassungAction">
        		name="ArtikelErfassungForm"
        		scope="request"
                	validate="true"
        		input="/view/ArtikelErfassung.jsp">
              <forward name="artikelErfassungAnzeigen" path="/view/ArtikelErfassungAnzeige.jsp"/>
        </action> 
      .
      .
ARTIKELERFASSUNGACTION:

package actions;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

public class ArtikelErfassungAction extends Action {
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        ArtikelErfassungForm artikelErfassungForm = (ArtikelErfassungForm) form;
       
        return mapping.findForward("artikelErfassungAnzeigen");
    }
}

      
ARTIKELERFASSUNGFORM:

package actions;

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

public class ArtikelErfassungForm extends ActionForm {
	     
    private String artikelNummer = null;
    private String titel = null;
    private	String autor = null;
    private	String preis = null;
    private	String erscheinungsJahr = null;
    private	String verlag = null;
    private	String beschreibung = null;
    private	String seitenZahl = null;
    
    
    public String getArtikelNummer() {
        return artikelNummer;
    }
    
    public void setArtikelNummer(String artikelNummer) {
        this.artikelNummer = artikelNummer;
    }
    
    public String getAutor() {
        return autor;
    }
    
    public void setAutor(String autor) {
        this.autor = autor;
    }
    
    public String getBeschreibung() {
        return beschreibung;
    }
   
    public void setBeschreibung(String beschreibung) {
        this.beschreibung = beschreibung;
    }
    
    public String getErscheinungsJahr() {
        return erscheinungsJahr;
    }
   
    public void setErscheinungsJahr(String erscheinungsJahr) {
        this.erscheinungsJahr = erscheinungsJahr;
    }
  
    public String getPreis() {
        return preis;
    }
    
    public void setPreis(String preis) {
        this.preis = preis;
    }
  
    public String getSeitenZahl() {
        return seitenZahl;
    }
   
    public void setSeitenZahl(String seitenZahl) {
        this.seitenZahl = seitenZahl;
    }
   
    public String getTitel() {
        return titel;
    }
   
    public void setTitel(String titel) {
        this.titel = titel;
    }
   
    public String getVerlag() {
        return verlag;
    }
   
    public void setVerlag(String verlag) {
        this.verlag = verlag;
    }
    
    
    
    public void reset(ActionMapping mapping, HttpServletRequest request) 
    {
        artikelNummer = null;
        titel = null;
        autor = null;
        preis = null;
        erscheinungsJahr = null;
        verlag = null;
        beschreibung = null;
        seitenZahl = null;
        
    }

    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) 
    {
       ActionErrors errors = new ActionErrors();
       
       if((artikelNummer == null) || (artikelNummer.length() < 1)) 
       {
          errors.add("artikelNummer.erforderlich", new ActionError("error.artikelNummer.erforderlich"));
       }
       if(( titel == null) || ( titel.length() < 1)) 
       {
          errors.add("titel.erforderlich", new ActionError("error.titel.erforderlich"));
       }
       if((autor == null) || (autor.length() < 1)) 
       {
          errors.add("autor.erforderlich", new ActionError("error.autor.erforderlich"));
       }
       
       if((preis == null) || (preis.length() < 1)) 
       {
          errors.add("preis.erforderlich", new ActionError("error.preis.erforderlich"));
       }
        
       if((erscheinungsJahr == null) || (erscheinungsJahr.length() < 1)) 
       {
          errors.add("erscheinungsJahr.erforderlich", new ActionError("error.erscheinungsJahr.erforderlich"));
       }
       if((verlag == null) || (verlag.length() < 1)) 
       {
          errors.add("verlag.erforderlich", new ActionError("error.verlag.erforderlich"));
       }
       if((beschreibung == null) || (beschreibung.length() < 1)) 
       {
          errors.add("beschreibung.erforderlich", new ActionError("error.beschreibung.erforderlich"));
       }
       if((seitenZahl == null) || (seitenZahl.length() < 1)) 
       {
          errors.add("seitenZahl.erforderlich", new ActionError("error.seitenZahl.erforderlich"));
       }
         
       return errors;
    }
 

clemson

Bekanntes Mitglied
versuchs mal mit der änderung in der jsp:
Code:
<html:form action="/view/ArtikelErfassung">
...
</html:form>

und der in der struts-config.xml (ohne angabe der elemente, da du diese ja in der ArtikelErfassungForm.java definierst):
Code:
<form-bean name="ArtikelErfassungForm" type="actions.ArtikelErfassungForm" />
 

Marty77

Mitglied
Hallo und Danke erstmal,

weiß jetzt wo der Fehler gelegen hat und zwar war es ein Syntax Fehler in der struts-config.xml:



<action path="/view/ArtikelErfassung" type="actions.ArtikelErfassungAction"> // Klammer >, Fehler!!!!!!
name="ArtikelErfassungForm"
scope="request"
validate="true"
input="/view/ArtikelErfassung.jsp">

Nach Beseitigung der Klammer funktioniert es jetzt, auch ohne die von dir vorgeschlagenen Änderungen.

Gruß
Marty
 

clemson

Bekanntes Mitglied
aber die angaben der properties in deiner form-bean config sind trotzdem überflüssig. du definierst innerhalb deiner action klasse welche properties es gibt und daher müssen diese auch nicht mehr angegeben werden in der struts-config.

außerdem würde ich bei der angabe des html:form elements die action deshalb ohne dem .do angeben, da du ansonsten das mvc paradigma verletzt. wenn du dir allerdings einen gobal-forward definierst und nur diesen in dem html:form element angibst, dann kannst du am controller / in deiner struts-config die action umbenennen wie du willst. du musst nichts ändern in deiner view / deiner jsp. ist zwar eine kleinigkeit aber trotzdem...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Struts 2 datetimepicker Allgemeines EE 3
W Struts Tutorial für EE Noobs? Allgemeines EE 2
N Struts vs JSF ? Allgemeines EE 7
W Speicher-Problem bei WebApp unter Tomcat, Struts, Hibernate Allgemeines EE 3
Lex Property per html:link schreiben in struts Allgemeines EE 2
Shihan Line Breaks in <br /> umwandeln (Struts) Allgemeines EE 7
S Struts: zwei JSP's nutzen eine Action Allgemeines EE 5
G Struts: ActionMessage value in JSP anzeigen Allgemeines EE 2
S Problem mit Struts und tiles Allgemeines EE 4
S Struts und Session Allgemeines EE 2
K Struts - FormBean mit 2 Listen - Anzeigen und Speichern Allgemeines EE 2
S Probleme mit struts - ActionServlet Allgemeines EE 6
C Struts in iFrame Allgemeines EE 2
Z Struts: Formularfelder initialisieren Allgemeines EE 3
S Struts: Wert in einem iterierten Drop-Down Menü selektieren Allgemeines EE 7
T Struts 2 Allgemeines EE 6
R Struts-Action in JSP abfragen? Allgemeines EE 2
J struts: Bild als submit-button Allgemeines EE 2
J Internationalization mit Struts Allgemeines EE 2
E bei struts inhalte über mehrere seite verteilen Allgemeines EE 6
velaluka Struts- falsches Character-Encoding? Allgemeines EE 3
M URL Darstl. und Struts Allgemeines EE 2
G Struts beans Allgemeines EE 7
D Struts + Table Allgemeines EE 6
L Struts - Action auslösen bei Browser Back Allgemeines EE 2
N Struts - Problem mit <html:link> Action Allgemeines EE 3
netspy Struts, Spring oder ... ? Allgemeines EE 5
S Struts - Direktaufruf eines URL verhindern Allgemeines EE 11
1 Frage zu Struts und findForward Allgemeines EE 4
N Struts Jboss und Filter Allgemeines EE 2
S Fragen zu: Servlets, Struts & Hibernate Allgemeines EE 9
T Struts und Objekte in Comboboxen Allgemeines EE 4
J Probleme mit Struts Allgemeines EE 3
K STRUTS The server encountered an internal error Allgemeines EE 5
F struts logic:iterate Allgemeines EE 5
G struts-config.xml Allgemeines EE 3
H Ich bin sehr verwirrt - struts, jsp, jsf . ? Allgemeines EE 53
P Testen von Struts-Anwendung Allgemeines EE 7
P Struts Form Bean vs. Session Variable Allgemeines EE 6
A Tomcat undeploy unter Windows klappt nicht wegen struts.jar Allgemeines EE 2
B Struts Problem: Array in JSP ausgeben (logic:iterate) Allgemeines EE 12
M Struts Deployment Allgemeines EE 3
R Mehrsprachige Seite mit Struts & Co. ? Allgemeines EE 5
S mehrere Message Resources in Struts ansprechen Allgemeines EE 7
G Values aus DB in Input-Feldern anzeigen (Struts) Allgemeines EE 2
G Exception creating bean of class . (Struts) Allgemeines EE 8
B Verwendung von DynActionForm (Struts) Allgemeines EE 10
K dynamischer Zugriff auf .properties (Struts) Allgemeines EE 2
K Struts html:messages tag Allgemeines EE 2
M Struts File Upload problem Allgemeines EE 6
G Validierung mittels Struts. Benötige Hilfe. Allgemeines EE 7
J Buchempfehlung: Servlets, JSP, Struts, JSTL Allgemeines EE 3
P struts "beliebige motive in der datenbank finden" Allgemeines EE 6
P Struts und Frames Allgemeines EE 13
L jfreechart und Struts / JSPs Allgemeines EE 3
P struts Hibernate MySQL Select Statement Allgemeines EE 24
P keine verbindung vom struts framework zu mysql Allgemeines EE 2
R Vernünftige Session-Verwaltung mit Struts Allgemeines EE 4
P Struts Anwendung- FormBean Tabelle mit input type=text Allgemeines EE 2
G Probleme mit Validierung (Struts, validation.xml) Allgemeines EE 4
M Struts - ActionForward Allgemeines EE 9
clemson gesplittete struts-config mittels ant zusammenbauen Allgemeines EE 2
J Struts Textfeld Allgemeines EE 10
M Struts shale Allgemeines EE 7
M Struts - jsp site - werte formatieren Allgemeines EE 6
clemson mehrere Mail Attachments - JSP Struts Allgemeines EE 7
T JSTL + Struts (inkl.Hibernate) -> forEach Problem Allgemeines EE 6
R Struts FormBean Allgemeines EE 4
S Struts 1.1 download einer Datei Allgemeines EE 4
R Use bean in scriptlet in struts Allgemeines EE 4
S reagieren auf select events in jsp-struts seiten Allgemeines EE 5
P Struts - Text formatieren Allgemeines EE 6
C Grafische Komponenten unter Struts jsp (Liste) Allgemeines EE 4
P Struts - Abarbeitung Allgemeines EE 3
P J2EE Struts - Database connection failed - Hilfe?:( Allgemeines EE 6
P J2EE Struts Allgemeines EE 2
R struts 1.0.2 Checkbox-Property bleibt immer false Allgemeines EE 3
TRunKX Werteübergabe von einer *.jsp in eine *.java ohne struts Allgemeines EE 4
clemson [Struts] Validierung server-seitig bringt StackOverflowError Allgemeines EE 5
clemson [Struts] HTML-Checkbox Tag ID Allgemeines EE 2
clemson [Struts] Einer Action Parameter übergeben Allgemeines EE 2
clemson [Struts] Innerhalb Action auf form zugreifen Allgemeines EE 4
G In einer JSP auf Struts-Elemente "reagieren" Allgemeines EE 4
clemson [Struts] struts-config.xml parsen Allgemeines EE 2
clemson [Struts] Parameter an ActionForward anhängen Allgemeines EE 3
clemson [Struts] TilesRequestProcessor - processRoles Allgemeines EE 14
F Struts Allgemeines EE 9
G Struts-Write Anweisungen in Hyperlink einbauen Allgemeines EE 3
G Struts-Form: in validate- oder reset-Methode umleiten. Allgemeines EE 3
G Listenfeld mit Struts und Beans realisieren Allgemeines EE 4
L Anfänger: suche Tutorials zu Struts/EJB Allgemeines EE 6
G Struts - dynamisches FormBean Allgemeines EE 3
R struts und Mapped Properties Allgemeines EE 2
A Javadocs zu struts Allgemeines EE 5
A Kolloquium J2EE / Struts Allgemeines EE 16
A Expression Language in Struts? Allgemeines EE 6
A Form Validierung mit Struts? Allgemeines EE 2
A struts: html:form-tag das Attribut "name" ersetzen Allgemeines EE 7
B struts - beginnerproblem Allgemeines EE 3
B Struts DBCP Allgemeines EE 4

Ähnliche Java Themen

Neue Themen


Oben