web-dev-qa-db-fra.com

Comment utiliser une classe Java dans un scriptlet JSP? Erreur dit que la classe ne peut pas être résolue en un type

J'ai écrit un exemple de fichier JSP dans Eclipse et un fichier Java. J'essayais d'appeler la classe Java dans mon JSP, mais cela ne fonctionnait pas. Le code du fichier Java est le suivant:

TestJava.jva

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

Le fichier Javafile se trouve dans le dossier src. Mon fichier JSP test.jsp est le suivant:

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>

Cela donne une erreur car "TestJava ne peut pas être résolu en un type". J'ai étudié d'autres postes liés dans Stack Overflow, mais ces approches ne fonctionnaient pas non plus. Étant nouveau pour JSP, je ne comprends pas comment corriger cette erreur. Je demande donc si quelqu'un peut m'aider à résoudre ce problème.

Je vous remercie.

10
Joy

Pour utiliser des objets de classe en Java, vous devez d'abord importer des classes . C'est à peu près la même chose que scriplets en jsp, ici vous l'importez via les balises <%@ page %> scriplet.

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

7
Erik Kaju

Vous devez écrire le nom complet de votre classe dans la directive de page

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

Vous devez importer votre classe en utilisant <%@ page %>

Dans votre cas, importez Test dans votre page jsp comme ceci.

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

si vous voulez importer plusieurs classes dans différents packages, déclarez-les comme ceci.

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

En outre, je vous suggère fortement de placer votre classe Test en dehors du package par défaut et de le placer dans un autre package. 

2
KyelJmD

<% @ page import = "TestJava"%> Assurez-vous que votre TestJava est dans le chemin d'accès aux classes.

1

Assurez-vous du @import comme d'autres l'ont dit

et ensuite l'attribut "classe" spécifie la classe réelle de l'instance de bean.

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

Quel IDE utilisez-vous? Je vous recommande d'utiliser quelque chose comme Eclipse avec le plugin JSP. Il soulignera avec un objet rouge que vous essayez de déclarer qui n’a pas été compilé et importé 

Vous n'avez pas besoin d'utiliser des beans, vous pouvez simplement créer des objets Java et les importer 

0
JoGotta