jsp:useBean的屬性class值一直報錯的問題


先附上代碼:

 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,盡管它有一個默認的控參數構造函數,但是在代碼里是沒有體現的,編譯器就通不過,因此只需在上面的代碼里面加入一個控參數的構造函數就可以。值得注意的是,當我再將空參數的構造函數刪除時,錯誤也不再出現(我們首先還是重啟一下jsp文件,再看錯誤是否存在)。

參考:http://hi.baidu.com/lqihidnqhobfmoq/item/a1d6d3ed883ea32c5b7cfb61


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM