關於獲取javaBean的屬性。


今天碰到一個關於在jsp取javaBean屬性的錯誤,特意做個筆記。


首先說一下錯誤:

首先我們定義一個bean:

package com.xtl.demo;

public class User {

	private String userName;
	
	private int age;
	
	private boolean isAdult;

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public boolean isAdult() {
		return isAdult;
	}

	public void setAdult(boolean isAdult) {
		this.isAdult = isAdult;
	}
	
	
}
簡單的user對象,存放姓名,年齡,是否成年。。


通過情況下我們在controller裏通過model.addAttribute("user", User);的形式傳遞給view。


而我們的view(jsp)也可以直接通過EL表達式${user.userName}   ${user.age}   ${user.isAdult} 分別獲取我們要的屬性。


這一切看起來都是對的,對象點屬性啊,很正常的。。。。再此之前我也覺得是對的 。


其實,這裏有一個錯就是${user.isAdult}。。。。。/


其實我們真的獲取屬性是通過對象點屬性拿到麼?   其實看起來是這樣,然而並不是的。。。


我們獲取用戶名${user.userName} ,看去來是User.userName。。。實際上是去拿User對象裏面的getUserName這個方法,所謂User點的那個屬性,不過就是getUserName方法去掉get,然後N小寫。。。。纔出現了了User.userName能拿到用戶名這樣的語法。真正的應該是在jsp中${User.getUserName,}拿到用戶名屬性。


同理,關於${user.isAdult}這個錯誤,正確的寫法應該是 ${user.adult}..去掉is,A小寫。。。

(boolean屬性沒有get方法,是is方法)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章