2012-03-06 2 views
0

Я пытаюсь запустить мою первую страницу jsp, и она не работает, как я ожидаю. Я использую Tomcat7 + Eclipse.Класс Jsp не отображается

Сначала я создал файл framework.java и поместил его в: \ ROOT \ WEB-INF \ classes \ framework.

Тогда я успешно скомпилирован, так что я получил: \ ROOT \ WEB-INF \ Classes \ Framework \ Layer1.class, Layer2.class, Layer3.class Тогда я сделал фактический файл JSP:

<%@ page import="framework.Layer1" %> 
<%= Layer1.write() %> 

Теперь даже Eclipse в этот момент дает мне предупреждение: Тип framework.Layer1 не отображается. И когда я запускаю страницу, естественно она говорит: Тип framework.Layer1 не отображается.

Что я здесь делаю неправильно? Я попробовал все учебные пособия, которые я нашел, и у всех была такая же проблема. Любые предложения?

ответ

4

Вы находитесь на правильном пути, но вам необходимо убедиться, что Layer1 - это открытый класс.

Итак, ваш Layer1 класс должен быть что-то вроде:

package framework; 
public class Layer1 { 
    public String write() { 
     return "hello"; 
    } 
} 

Вместо:

package framework; 
class Layer1 { // do note the non-use of public keyword here 
} 
+0

Да, я пробовал, но затем Javac говорит: framework.java:4: ошибка: class Layer1 является общедоступным, должен быть объявлен в файле с именем Layer1.java –

+0

Да, вам нужно использовать ** один файл для каждого класса ** подход java использует. К сожалению, это не C#. :-) –

+0

Но, для чего же пакет? Нужно ли иметь 3 файла для всех фреймворков пакетов и каждого из них с одним классом? –

Смежные вопросы