(原創)jsp:useBean的屬性class值一直報錯的問題

來源:互聯網
上載者:User

標籤: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.