作者 主題: JSP無法使用javaBeans!  (閱讀 6885 次)

0 會員 與 1 訪客 正在閱讀本文。

fell0206

  • 活潑的大學生
  • ***
  • 文章數: 339
    • 檢視個人資料
JSP無法使用javaBeans!
« 於: 2009-07-08 09:14 »
各位大大,小弟是用NetBeans IDE 6.5.1寫JSP,而我在"Source Packages"下新增一個名為com的資料夾,並建立personData.java:
package com;
public class personData {
    public String getTest(){
      return "jfdksl;a;sldjfkdalsdf";
    }

}
然後compiler後,將personData.class托到\WEB-INF\classes\com\下,並且建立useBean.jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Hello World!</h1>
        <jsp:useBean id="personData" scope="application" class="com.personData" />
    </body>
</html>
但一直產生錯誤:"The server encountered an internal error () that prevented it from fulfilling this request."
目前還在努力找解法(雖然有找到,但都解不出來),請各位大大指點指點!! Thank you~~

fell0206

  • 活潑的大學生
  • ***
  • 文章數: 339
    • 檢視個人資料
回覆: JSP無法使用javaBeans!
« 回覆 #1 於: 2009-07-14 14:31 »
終於...歷經了二週左右的研究,終於知道那有問題了:
1.可能是我的web.xml有點問題,所以我後來新一個web application
2.<jsp:getProperty name="personData" property="test" />,雖然我在java file中是寫"getTest()"但當我在JSP頁面中則是要將property設為小寫

不過小弟又有一個問題,不是說java裡,大小寫是有別的嗎?那為什麼我的property要設為小寫才能RUN??請各位大大指點指點!!Thank you~

fillano

  • 鑽研的研究生
  • *****
  • 文章數: 526
    • 檢視個人資料
回覆: JSP無法使用javaBeans!
« 回覆 #2 於: 2009-07-14 17:46 »
這是getter/setter的慣例阿,記下來就是了。系統不會直接access javabeans的properties,而會透過getter/setter方法。

Java的命名慣例最基本的就是package name統統小寫、class name首字大寫並用Camel case、properties跟methods首字小寫並用Camel case。

依照這個慣例,你有個property叫做test,那他的getter就是getTest(),他的setter就是setTest()。

所以系統也是這樣假設的,如果不依照這個命名規則寫程式,就會出現錯誤。
Sapere aude! Habe Mut, dich deines eigenen Verstandes zu bedienen! ist also der Wahlspruch der Aufklärung.

fell0206

  • 活潑的大學生
  • ***
  • 文章數: 339
    • 檢視個人資料
回覆: JSP無法使用javaBeans!
« 回覆 #3 於: 2009-07-15 10:20 »
原來如此!感謝大大的指點~