2012-03-06 59 views
0

我試圖讓我的第一個jsp頁面運行,它不工作,因爲我期望它。 我正在使用Tomcat7 + Eclipse。Jsp類不可見

首先,我創建了我的framework.java文件,並將它放在:\ ROOT \ WEB-INF \ classes \ framework中。

然後我成功編譯它,所以我就: \ ROOT \ WEB-INF \類\框架\ 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:錯誤:類Layer1是公共的,應該在名爲Layer1.java的文件中聲明 – 2012-03-06 19:54:03

+0

是的,您需要使用** java使用的**每文件類**一種方法。不幸的是,這不是C#。 :-) – 2012-03-06 19:56:26

+0

但是,這是什麼包?我是否需要3個文件包所有包框架,每個包含一個類? – 2012-03-06 19:57:35