web-dev-qa-db-ja.com

JSPスクリプトレットでJavaクラスを使用する方法?エラーは、クラスをタイプに解決できないことを示しています

私はEclipseでサンプルJSPファイルとJavaファイルを記述し、JSP内でJavaクラスを呼び出そうとしましたが、機能していません。コードJavaファイルは次のとおりです。

TestJava.jva

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

Javafileはsrcフォルダーにあります。私のJSPファイルtest.jsp 以下のとおりであります:

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>

TestJavaをタイプに解決できません」というエラーが発生します。 Stack Overflowで他の関連する投稿を調査しましたが、それらのアプローチも機能しませんでした。 JSPの初心者なので、そのエラーを修正する方法を理解できません。だから私は誰かがその問題を修正するのを手伝ってくれるかどうか尋ねています。

ありがとうございました。

10
Joy

Javaでクラスオブジェクトを使用するには、まずクラスをインポートする必要があります。 jspのスクリプレットとほとんど同じですが、ここでは<%@ page %>スクリプレットタグを使用してインポートします。

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

7
Erik Kaju

クラスの完全修飾名をページディレクティブに書き込む必要があります

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

<%@ page %>を使用してクラスをインポートする必要があります

あなたの場合、このようにjspページにTestをインポートしてください。

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

異なるパッケージにある複数のクラスをインポートする場合は、次のように宣言します。

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

また、Testクラスをデフォルトパッケージの外に置き、別のパッケージに入れることを強くお勧めします。

2
KyelJmD

<%@ page import = "TestJava"%> TestJavaがクラスパスにあることを確認してください

@import他の人が言ったように

次に「class」属性は、Beanインスタンスの実際のクラスを指定します。

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

どのIDEを使用していますか?Eclipseなどのプラグインを使用することをお勧めします。コンパイルおよびインポートされていない、宣言しようとしている赤いオブジェクトに下線が引かれます。

ところでBeanを使用する必要はありません。Javaオブジェクトを作成してインポートするだけです。

0
JoGotta