jsp Beans benutzen

Java-Freak

Bekanntes Mitglied
hallo
ich hab ein kleines problem
ich beschäftige mich nun seit sunden mit dem versuch in einem jsp-file jsp:useBean auf eine eigene JavaBean anzuwenden aber es geht nicht... ich wollte zum anfang erstmal nur ausprobieren aber es geht trotzdem nicht.. ich nutze tomcat 6 und habe folgende ordnerstuktur und dateien:
Code:
../webapps/ROOT/test:
-test.jsp 
-bean
  -test
    -beanTest.java
    -beanTest.class
test.jsp:
HTML:
<html><body> 
<br />
<jsp:useBean id="now" class="java.util.Date" /> 
Heutiges Jahr ist <%= now.toString() %>   ==   ${now}.<!-- das geht ja -->
<br />
<jsp:useBean id="bean" class="bean.test.beanTest" />
<%= bean.getNumber() %>

</body></html>
beanTest.java
Java:
package bean.test;
public class beanTest {
  public int getNumber(int n){
    return n+1;
  }
}
der Server gibt eine fehlermeldungsseite aus die
org.apache.jasper.JasperException: /test/test.jsp(17,0) The value for the useBean class attribute bean.test.beanTest is invalid.
das hier sagt...
nur verstehe ich nicht warum...ich habe schon alles mögliche ausprobiert aber komm einfach nicht drauf...vllt kann mir ja mal jemand der das schon oft gemacht hat sagen wo der fehler liegt...
danke
 

Final_Striker

Top Contributor
Also ich kenne mich da jetzt nicht so aus, aber was mir aufgefallen ist: die Methode getNummer in der test.jsp hat bei dir keine Parameter aber in der beanTest Klasse schon.
 

Java-Freak

Bekanntes Mitglied
oh danke, hab ich wohl übersehen aber das ist nicht der fehler...ich habs geändert aber trotzdem gehts nicht...der stacktrace sagt ja das das attribut class nicht korrekt ist aber ich habe in diversen beispielen(Insel, Tomcat-Beispiele, diverse online-tutorials)geschaut und überall ist es so wie ichs gemacht hab, soweit ich nichts übersehen habe...aber danke
 

Java-Freak

Bekanntes Mitglied
hm, verstehe nicht genau wie du meinst
so gehts auch nicht:
Code:
../webapps/ROOT/test:
-test.jsp 
-WEB-INF
  -classes
    -beanTest.java
    -beanTest.class
test.jsp:
HTML:
<html><body> 
<br />
<jsp:useBean id="now" class="java.util.Date" /> 
Heutiges Jahr ist <%= now.toString() %>   ==   ${now}.<!-- das geht ja -->
<br />
<jsp:useBean id="bean" class="beanTest" />
<%= bean.getNumber(1) %>

</body></html>
beanTest.java(class)
Java:
public class beanTest {
  public int getNumber(int n){
    return n+1;
  }
}
ich weiß langsam echt nicht mehr weiter...
 

mvitz

Top Contributor
1) Wieso muss deine Applikation ROOT heißen? Man sollte eigentlich den ROOT Context nicht benutzen.

2)Folgendes funktioniert bei mir:
Code:
<TOMCAT_HOME>/webapps/test
-test.jsp
-WEB-INF
  -web.xml
  -classes
    -de/mvitz/working/webapp/TestBean.class

web.xml
[XML]<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
</web-app>[/XML]

de.mvitz.working.webapp.TestBean.java
Java:
package de.mvitz.working.webapp;

public class TestBean {

    public int incrementNumber(int i) {
        return i + 1;
    }

}

test.jsp
[XML]<html>
<body>
<br />
<jsp:useBean id="now" class="java.util.Date" />
Heutiges Jahr ist <%= now.toString() %> == ${now}.<!-- das geht ja -->
<br />
<jsp:useBean id="bean" class="de.mvitz.working.webapp.TestBean" />
<%= bean.incrementNumber(1) %>
</body>
</html>[/XML]
 

Java-Freak

Bekanntes Mitglied
vielen vielen dank ich hab alles per copy&paste genau so gemacht wie du und es ging
danke, ich wär fast daran verzweifelt :D
meine applikation muss nicht ROOT heißen, ein irrtum meinerseits...unter anderem deshalb hats nicht funktioniert
 

Ähnliche Java Themen

Neue Themen


Oben