作者:php.cn 更新時間:2022-04-11 14:31:54
Model 與 Bean 合體後注意事項
- 合體後JSP 模板輸出Bean 中的資料將依賴其getter 方法,輸出的變數名稱即為getter 方法去掉」get」前綴字元後剩下的字元首字母變小寫,如果希望JSP 仍然使用先前的輸出方式,可以在系統啟動時呼叫一下ModelRecordElResolver. setResolveBeanAsModel(true);
- Controller 之中的getModel()需要表單域名稱對應於資料表單欄位名,而getBean()則依賴setter 方法,表單網域對應於setter 方法去掉”set”前綴字元後剩下的字串字母變小寫。
- 許多類似jackson、fastjson 的第三方工具依賴Bean 的getter 方法來運作,所以只有合體後才可以使用jackson、fastjson
- JFinalJson 將Model轉換為json 資料時,json 的keyName 是原始的資料表欄位名,而jackson、 fastjson 這類依賴getter 方法轉換成的json 的keyName 是資料表欄位名稱轉換而成的駝峰命名
- 建議mysql 資料表的欄位名稱直接使用駝峰命名,這樣可以讓json 的keyName 完全一致, 也可以讓JSP 在頁面中取值時使用完全一致的屬性名稱。注意:mysql 資料表的名稱仍然使 用底線命名方式並使用小寫字母,方便在 linux 與 windows 系統之間移植。
- 總之,合體後的Bean 在使用時要清楚使用的是其BaseModel 中的getter、setter 方法還是其Model 中的get(String attrName)方法