標籤:style blog http java color strong
先附上代碼:
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 3 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 4 <html> 5 <head> 6 <title>jsp:setProperty標籤</title> 7 </head> 8 9 <body>10 <jsp:useBean id="person" class="edu.hust.domain.Person" scope="page"/>11 <!-- 手動為bean屬性賦值 -->12 <jsp:setProperty name="person" property="name" value="abc"> <br>13 </body>14 </html>
今天在學習jsp後,嘗試著寫第一個jsp代碼,但發現jsp:useBean標籤的class屬性值一直報錯,糾結了很長一段時間,終於解決了。
這得從什麼是javaBean說起。javaBean是擁有特殊寫法的一類java,一個javabean必須滿足三個條件:
1,屬性必須私人化;
2,必須擁有一個無參的建構函式;
3,私人化的屬性必須通過public類型的方法暴露給其它程式,並且方法的命名也必須遵守一定的命名規則。
而我的JavaBean是這麼寫的:
package edu.hust.domain;public class Person { private String name; private String age; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAge() { return age; } public void setAge(String age) { this.age = age; }}
很明顯這裡面是沒有控參數的建構函式的,因此它不是一個標準的JavaBean,儘管它有一個預設的控參數建構函式,但是在代碼裡是沒有體現的,編譯器就通不過,因此只需在上面的代碼裡面加入一個控參數的建構函式就可以。值得注意的是,當我再將空參數的建構函式刪除時,錯誤也不再出現。
參考:http://hi.baidu.com/lqihidnqhobfmoq/item/a1d6d3ed883ea32c5b7cfb61