Problem mit JavaBean

  • Themenstarter Themenstarter Phiman
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
P

Phiman

Gast
Ich habe Probleme eine Java Bean in einer jsp zu benutzen. Wenn ich die Seite aufrufe wird mir folgende Fehlermeldung angezeigt:

Unable to compile class for JSPerror: Invalid class file format in c:\tomcat\webapps\meins\StringMem.class. wrong version: 46, expected 45

Was läßt sich dagegen unternehmen?

Phi
 
poste doch einfach mal deinen (relevanten) jsp-code und bean-code - die fehlermeldung sagt mir grad mal garnix....
 
Jo, gerne. Ist ne kleine Sache, ich bin nämlich erst seit kurzen dabei 🙂


die jsp:

Code:
<jsp:useBean id="messBean" class="StringMem" scope="session"/>
<%! String message;%>
<% if((message = request.getParameter("pwFeld")) != null) { %>
  Hier klicken:

  <a href=tester.jsp>klick</a>
  <% messBean.setMessage(message); %>
<% } %>


Und hier die Bean:

Code:
class StringMem {
private String message;

  public StringMem() {}

  public void setMessage (String message) {
    this.message = message;
  }

  public String getMessage() {
    return message;
  }
}
 
meines Wissens nach musst du deine Bean (zumindest beim Tomcat) in ein Package packen. K.A. ob das mit deinem Fehler etwas zu tun hat, aber n Versuch ist es Wert.

Code:
<jsp:useBean id="messBean" class="myPackage.StringMem" scope="session"/>
...
-----

package myPackage;

Code:
class StringMem {
...
 
Den Versuch war es wert. Hat aber leider trotzdem nicht funktioniert, sofern ich alles richtig gemacht habe.
Ich hab die Klasse in ein Package gepackt. Sie in einen dem Packagenamen entsprechenden Ordner verfrachtet, diesen in einen im CLASSPATH aufgeführtem Verzeichnis deponiert.
Leider wird nach wie vor derselbe Fehler ausgegeben + weitere:

org.apache.jasper.JasperException: Unable to compile class for JSPerror: Invalid class file format in c:\tomcat\webapps\meins\phi\StringMem.class. wrong version: 46, expected 45
C:\tomcat\work\localhost_8080%2Fmeins\_0002flogin_0002ejsplogin_jsp_0.java:64: Class phi.StringMem not found in type declaration.
phi.StringMem messBean = null;
^
C:\tomcat\work\localhost_8080%2Fmeins\_0002flogin_0002ejsplogin_jsp_0.java:67: Class phi.StringMem not found in type declaration.
messBean= (phi.StringMem)
^
C:\tomcat\work\localhost_8080%2Fmeins\_0002flogin_0002ejsplogin_jsp_0.java:72: Class phi.StringMem not found in type declaration.
messBean = (phi.StringMem) Beans.instantiate(this.getClass().getClassLoader(), "phi.StringMem");
^
4 errors


Bin über jeden Vorschlag dankbar. Möchte ungern auf Beans verzichten 😀
 
Wo liegt denn deine compilierte Klasse? darin muss se liegen:
WEB-INF/classes/phi/

gruss
mala
 
OK, gut zu wissen wo die Klasse hingehört 😉 Danke!

Die Zahl der Fehler konnte auf 3 reduziert werden. Es bleiben:

C:\tomcat\work\localhost_8080%2Fmeins\_0002flogin_0002ejsplogin_jsp_0.java:64: Class phi.StringMem not found in type declaration.
phi.StringMem messBean = null;
^
C:\tomcat\work\localhost_8080%2Fmeins\_0002flogin_0002ejsplogin_jsp_0.java:67: Class phi.StringMem not found in type declaration.
messBean= (phi.StringMem)
^
C:\tomcat\work\localhost_8080%2Fmeins\_0002flogin_0002ejsplogin_jsp_0.java:72: Class phi.StringMem not found in type declaration.
messBean = (phi.StringMem) Beans.instantiate(this.getClass().getClassLoader(), "phi.StringMem");
^
3 errors


Und ich denke das es sich hierbei wohl um ein und den selben Fehler handelt. Habe ich vielleicht im jsp code irgendetwas vergessen?

@el_barto, werde ich auf alle Fälle machen wenn wir hier nicht weiterkommen, danke!
 
deine Anweisung in der jsp lautet wirklich

<jsp:useBean id="messBean" class="phi.StringMem" scope="session"/> und die kompilierte Datei StringMem.class liegt in WEB-INF/classes/phi?
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben