今天看struts2時,遇到一個問題如下:
1:在jsp頁面時給一個button控件賦value值時使用struts2標簽user.username。
2:在EL表達式中也使用user.username來訪問
問題是user是javabean對象,username是user的私有成員。為什麼可以直接用對象來訪問私有成員呢?不是應該使用user的getUsername()方法嗎?
這是Struts2框架的一個優點,支持對象導航,
導入ognl.jar後,可以在頁面使用 對象.屬性名 的方式取值,同時也可以用這樣的方式對對象屬性進行賦值。
雖然看起來使用的是 對象.屬性名 實際框架在進行操作時會自動調用對應的get/set方法,
也就是說,如果你在user的類中沒有定義對應username的getUsername/setUsername,在頁面仍然不能使用
關於OGNL的使用方法,建議樓主自己上網查查,會有更加詳細的介紹