2013-03-30 4 views
10

Я написал образец JSP-файла в Eclipse и файл Java и пытался вызвать класс Java внутри моего JSP, но он не работает. Код файла JAVA выглядит следующим образом:Как использовать класс Java в сценарии JSP? Ошибка говорит, что класс не может быть разрешен для типа

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, я не могу понять, как исправить эту ошибку. Поэтому я спрашиваю, может ли кто-нибудь помочь мне решить эту проблему.

спасибо.

+0

Я думаю TestJava должен быть managedbean. Я не уверен на 100%. –

+0

Вы должны импортировать свой java-класс в файл 'jsp'! – boomz

+0

@ KorayTugay управляемая концепция bean для JSF AFAIK, но она не применяется к простой разработке JSP/Servlet. –

ответ

7

Чтобы использовать объекты класса в java, сначала необходимо импортировать классы. Практически то же самое со скриптами в jsp, здесь вы импортируете его через теги scriplet <%@ page %>.

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

+0

Я поместил имя класса, как вы сказали «<% @ page import =» TestJava «%>». Но все же он показывает, что «TestJava не может быть разрешен». – Joy

+0

Укажите также отношение пакета. Предоставьте дополнительную информацию о том, где вы держите свой класс, и мы его разрешим. Если вы работаете с eclipse: щелкните правой кнопкой мыши на свой класс java -> 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 находится в пути к классам

1

Убедитесь о @import, как другие сказали

, а затем Атрибут «class» указывает фактический класс экземпляра компонента.

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

Вы должны импортировать класс с помощью <%@ page %>

В вашем случае, импорт Тест на вашей странице JSP, как это.

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

Если вы хотите импортировать несколько классов, находящихся в разных пакетах, объявите их так.

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

Кроме того, я настоятельно рекомендую вам поставить свой тестовый класс вне пакета по умолчанию и поместить его в другой пакет.

0

Какой IDE вы используете? Я рекомендую использовать что-то вроде Eclipse с плагином JSP. Он будет подчеркивать красные объекты, которые вы пытаетесь объявить, которые не были скомпилированы и импортированы.

Вы не должны использовать бобы, кстати .. вы можете просто создать объекты Java и импортировать их