2013-03-30 7 views
10

EclipseとJavaファイルにサンプルのJSPファイルを書き、JSP内でJavaクラスを呼び出そうとしましたが、動作しません。 JAVAファイルのコードは次のとおりです。JSPスクリプトレットで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はタイプに解決することはできない" として、それがエラーを与えています。私はスタックオーバーフローで他の関連記事を研究しましたが、それらのアプローチもうまくいきませんでした。 JSPを初めて使用しているので、そのエラーを修正する方法を理解できません。だから誰でも私がその問題を解決するのを助けることができるかどうか尋ねている。

ありがとうございます。

+0

それらをインポートすることができ、私はTestJavaはmanagedbeanされるべきだと思います。私は100%確実ではない。 –

+0

Javaクラスを 'jsp'ファイルにインポートする必要があります。 – boomz

+0

@KorayTugayマネージドBeanのコンセプトはJSF AFAIKのコンセプトですが、JSP /サーブレット開発には適用されません。 –

答えて

7

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

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

+0

あなたが "<%@ page import =" TestJava "%>"と言ったようにクラスの名前を入れました。しかし、それでも "TestJavaは解決できません"ということを示しています。 – Joy

+0

パッケージ関係も指定します。あなたがあなたのクラスをどこに保持しているかについていくつかの情報を提供すれば、それを解決します。 eclipseで作業している場合:java classfile - > properties - > "path"を右クリックしてください。(パスはここにコピーできます) –

+0

@Joy: 'TestJava'がデフォルトパッケージになっていますか? – boomz

5

あなたは

<%@ page import="fully qualified name of the class" %> 
+0

はい。私はhvを<%@ page import = "com.sampleServlet.sampleClass"%> –

+0

にインポートしました。あなたの質問は何ですか? –

1

<% @ページのインポート= "TestJava" %> は、あなたのTestJavaがクラスパスにあることを確認してくださいpageディレクティブであなたのクラスの完全修飾名を記述する必要があり

1

他の人が、その後

と言ったように@importについて確認してください"class"属性は、Beanインスタンスの実際のクラスを指定します。

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

あなたは、このようなJSPページでインポートのテスト、あなたのケースでは<%@ page %>

を使用して、クラスをインポートする必要があります。

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

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

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

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

0

どのIDEを使用していますか? JSPプラグインでEclipseのようなものを使うことをお勧めします。コンパイルしてインポートしていない宣言しようとする赤いオブジェクトに下線が引かれます。あなたが道で豆を使用する必要はありません

..あなただけのJavaオブジェクトを作成し、

関連する問題