jsp中javabean的應用
來源:互聯網
上載者:User
也許每天真的就是一個新的開始..
昨天為了一個javabean忙了一天..不過問題還是解決了哈.今天頗有成就感於是決定將心得寫下來和大家共用了..
首先我們看看一個簡單的javabean類吧UserInfo.java
package com.lili;
public class UserInfo
{
public UserInfo(){}
public UserInfo(String name)
{
this.name=name;
}
public void setName()
{
this.name=name;
}
public String getName()
{
return name;
}
private String name;
}
總之這裡的一個無參的建構函式是必不可少的了...如果忘記了就一定會出錯啦..
接下來就要看看jsp中應用javabean的標準操作元素jsp:useBean了..該元素用於在jsp頁面中引用Java Bean 操作文法就簡單介紹一下吧<jsp:useBean id="name" scope="page|request|session|application class="className"/>具體什麼意思就不用講了吧.
在我的程式中用<jsp:useBean id="userInfo" class ="com.lili.UserInfo">
現在再來看<jsp:setProperty>和<jsp:getProperty>一個是設定bean中屬性值,一個是得到bean中的屬性值這裡我主要說一下<jsp:setProperty>中的參數
當然在setProperty中應該首先指出bean的名字了.即name
接著就是要設定的property的名字即property,當property="*"的時候代表設定的所有的屬性值
然後就是jsp:setProperty中不能同時包含的param 和value屬性 .....value很好理解了就是值嗎呵呵..譬如我要把bean中的name設定成"lili"就可以用<jsp:setProperty name="userInfo" property="name" value="lili">
param就是參數的意思了.. 就是說可以將一個參數的值賦給指定的property,如果在程式中有個一參數userName的值是"lili"那麼你就可以用<jsp: setProperty name="userInfo" property="name" param="userName">來設定name的值了..
其實上面講的沒有什麼技術含量啦哈..其實用javabean 最應該注意的就是.class存放的位置了...這可能是每個新手都要遇到的..當辛辛苦苦的敲完代碼..等待著自己的成就將要展現在網頁上的時候..我們卻遇到了討厭的The value for the useBean class attribute ... is invalid ..這種打擊對我們來說是致命的.. 這裡出現這種情況的問題主要有兩個..一個是javabean格式不正確了..首先檢查一下javabean看是否符合規範,起碼無參的建構函式必不可少吧..如果javabean沒有問題,那接著就要看看.class存放的路徑了..我這裡當然假設你用的是apache的tomcat了呵呵..我現在用的是5.59..不知道別的版本會有什麼情況..你要把.class存放在web-info目錄下的classes目錄中..當然要對應的包名稱..講的再詳細一點吧..在這裡我假定你還沒有學會設定自己的工作目錄呵呵..大部分的新手估計都停留在這個階段..假設我們的工作目錄都在tomcat5.5中 webapps的jsp-examples目錄中..在jsp-examples裡我們建立自己的目錄testBean,其中有testBean.jsp 檔案.. testBean.jsp用的javaBean應該放到哪裡呢..再回過頭看看UserInfo類吧..它應該在包com.lili中故在jsp- examples的web-inf目錄下建立com檔案夾,然後在com中建立lili,然後將編譯的UserInfo.class放到lili中,ok 了接著就處理你自己的javaBean吧呵呵..
講的太羅嗦了呵呵..不知道對看到文章的人是否有協助呵呵..如果有什麼問題可以與我交流.共同進步吧..