Java Klassen in JSP einbinden
-
hallo,
ich versuche eine einer hava klasse in jsp zu verwenden
als Entwicklungsumgebun benutze ich die NetBeans
das Struktur meinw Web App
myApp/WEB-INF/classes
die klasse befindet sich in WEB-INF\classes
// Java class
package APPMessages;
public class MessageCreator {
public MessageCreator() {}
public String getMessage()
{
return "The Application is loaded...";
}
//-----------------------------------
}// index.jsp
...
<%@page contentType="text/html" import="AppMessages.*"%><%
MessageCreator messageObj = new MessageCreator();
for(int i=0; i< 10; i++){
%>
<H1><%= messageObj.getMessage()%></H1>
<%
}
%>
....aber ich bekomme immer folgende Fehler
symbol : class MessageCreator
location: class org.apache.jsp.index$jsp
MessageCreator messageObj = new MessageCreator();
^
wo liegt den Fehler ???wie soll die Verzeichnis Struktur wenn ich
<%-- <jsp:useBean id="messageObj" scope="session"
class="Messages.MessageCreator"/> -->
danke
-
Hi,
dein Packagename ist APPMessages. Mach in WEB-INF/classes das Verzeichnis APPMessages auf, und kopier die kompilierte Klasse da hinein!
In der JSP-Datei holst du Sie dann per
<jsp:useBean id="messageObject" scope="page" class="APPMessages.MessageCreator" />scope und Id kannst du ja noch ändern.
In den JSPs musst du die Klasse jetzt über die Id ansprechen. Der Konstruktor ist schon aufgerufen worden. Du kannst dir das Instanzanlegen also sparen, und gleich auf die Methoden zugreifen. Also etwamessageObject.dummymethod("Hallo Welt");
Arbeite an deinem Ausdruck
-
wie sieht aus wenn der Konstrukter der Klasse MessageCeator
parameter bekommt ??
wie kann ich die id zuweisen
-
Beschäftige dich mal mit Beans und deren Eigenschaften, für jsp insbesondere
mit <jsp:setProperty ... />. Musst mal Googlen!
-
Achso wenn du unbedingt die Tour deines ersten Beispiels gehen willst musst du:
APPMessages.MessageCreator messageObject = new APPMessages.MessageCreator();
schreiben, also mit Packagenamen.
Dann wirds aber schnell unübersichtlich!