it-swarm.com.de

Wie verwende ich eine Java-Klasse in einem JSP-Scriptlet? Ein Fehler besagt, dass die Klasse nicht in einen Typ aufgelöst werden kann

Ich habe eine JSP-Beispieldatei in Eclipse und eine Java-Datei geschrieben und habe versucht, die Java-Klasse in meiner JSP aufzurufen, aber sie funktioniert nicht. Der Code der Java-Datei lautet wie folgt:

TestJava.jva

public class TestJava {
     public void test(String msg)
      {
          System.out.println("My name is "+msg);
      }
}

Das Javafile befindet sich im Ordner src. Meine JSP-Datei test.jsp lautet wie folgt:

test.jsp

<%@ page language="Java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     <title>My First JSP with Java</title>
 </head>
 <body>
 <jsp:useBean id="link" scope="application" class = "TestJava" />   
  <% TestJava t=new TestJava();
  t.test("Joy");
 %>
 </body>
 </html>

Es gibt einen Fehler, da "TestJava nicht in einen Typ aufgelöst werden kann". Ich habe andere verwandte Beiträge in Stack Overflow studiert, aber diese Ansätze haben auch nicht funktioniert. Da ich neu in JSP bin, kann ich den Fehler nicht verstehen. Ich frage also, ob mir jemand helfen kann, dieses Problem zu lösen.

Vielen Dank.

10
Joy

Um Klassenobjekte in Java verwenden zu können, müssen Sie zuerst Klassen importieren. __ Ähnlich wie Scriplets in jsp. Hier importieren Sie sie mit <%@ page %> scriplet-Tags.

<%@ page import="your.class*" %>

7
Erik Kaju

Sie müssen einen vollständig qualifizierten Namen Ihrer Klasse in der Direktive page angeben

<%@ page import="fully qualified name of the class" %>
5
Neha Choudhary

Sie müssen Ihre Klasse mit <%@ page %> importieren.

In Ihrem Fall importieren Sie auf diese Weise Test in Ihre JSP-Seite.

<%@ page import="yourpackagename.Test" %>

wenn Sie mehrere Klassen importieren möchten, die sich in verschiedenen Paketen befinden, deklarieren Sie sie so.

<%@ page import="yourpackagename.Test,yourpackagename2.Test2" %>

Ich empfehle Ihnen dringend, Ihre Test-Klasse außerhalb des Standardpakets und in ein anderes Paket zu legen. 

2
KyelJmD

<% @ page import = "TestJava"%> Stellen Sie sicher, dass sich Ihr TestJava im Klassenpfad befindet

Vergewissern Sie sich über den @import, wie andere sagten

und dann Das Attribut "class" gibt die tatsächliche Klasse der Bean-Instanz an.

 <jsp:useBean id="link" scope="application" class = "fullpackagename.TestJava" />
      <% TestJava t=new TestJava();
      t.test("Joy");
     %>
1
Suresh Atta

Welche IDE verwenden Sie? Ich empfehle, dass Sie so etwas wie Eclipse mit dem JSP-Plugin verwenden. Es wird mit roten Objekten unterstrichen, die Sie zu deklarieren versuchen und die nicht kompiliert und importiert wurden. 

Beans müssen Sie übrigens nicht verwenden. Sie können einfach Java-Objekte erstellen und importieren 

0
JoGotta