私は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の初心者なので、そのエラーを修正する方法を理解できません。だから私は誰かがその問題を修正するのを手伝ってくれるかどうか尋ねています。
ありがとうございました。
Javaでクラスオブジェクトを使用するには、まずクラスをインポートする必要があります。 jspのスクリプレットとほとんど同じですが、ここでは<%@ page %>
スクリプレットタグを使用してインポートします。
<%@ page import="your.class*" %>
クラスの完全修飾名をページディレクティブに書き込む必要があります
<%@ page import="fully qualified name of the class" %>
<%@ page %>
を使用してクラスをインポートする必要があります
あなたの場合、このようにjspページにTestをインポートしてください。
<%@ page import="yourpackagename.Test" %>
異なるパッケージにある複数のクラスをインポートする場合は、次のように宣言します。
<%@ page import="yourpackagename.Test,yourpackagename2.Test2" %>
また、Testクラスをデフォルトパッケージの外に置き、別のパッケージに入れることを強くお勧めします。
<%@ page import = "TestJava"%> TestJavaがクラスパスにあることを確認してください
@import
他の人が言ったように
次に「class」属性は、Beanインスタンスの実際のクラスを指定します。
<jsp:useBean id="link" scope="application" class = "fullpackagename.TestJava" />
<% TestJava t=new TestJava();
t.test("Joy");
%>
どのIDEを使用していますか?Eclipseなどのプラグインを使用することをお勧めします。コンパイルおよびインポートされていない、宣言しようとしている赤いオブジェクトに下線が引かれます。
ところでBeanを使用する必要はありません。Javaオブジェクトを作成してインポートするだけです。