終於體驗到"struts formbean的最佳實踐是String"這句話的強大意義了

這斷時間一直在用struts做開發,還規定儘量用struts的標記庫,所以最進對struts的標記庫研究得比較多。直到今天才發現,前面研究的東西都是白費了,最終都是用不上了。

前面寫過用struts tag對formbean 屬性的顯示,花了不少時間研究出了對Integer ,BigDecimal類型屬性的顯示問題,struts formbean是不支持Date類型的屬性的。也看到了”struts formbean的最佳實踐是String“這句話,也看到過formbean獲取這些數據,首先都是以string類型獲取到,然後再轉成自己所需類型這樣的文章。但是一直抱着偷懶的心態,一直想盡量用BeanUtils.copyProperties(object,formbean)這樣的方法來獲取formbean的內容,懶得自己一個一個屬性的獲取和賦值。

但是今天出現的一個問題,使我幡然醒悟。

問題描述如下:

1,我定義了一個formbean,裏面有兩個BigDecimal屬性。

2,然後我在jsp頁面上要新增一個對象,提交時報一個javax.servlet.ServletException: BeanUtils.populate異常。

我發現是因爲沒有給那2個BigDecimal屬性附初值的原因。

想想以前看過的內容,我想formbean獲取屬性值時,也許也是會這麼獲取內容

new BigDecimal(request.getParameter("xxxx"));由於xxx是null,所以就報錯誤了。

 

我沒有看過struts的源代碼,這只是我自己想當然的想法,不知道對不對,哪位高人看後,不吝賜教,非常感謝。

發佈了12 篇原創文章 · 獲贊 1 · 訪問量 5656
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章