隨筆-9  評(píng)論-1  文章-0  trackbacks-0
          按照理解web里的所有訪問(wèn)都通過(guò)控制器來(lái)輸導(dǎo),那也是沒有問(wèn)題的,因?yàn)樽疃嗍墙▊€(gè)ForwardAction,沒有產(chǎn)生真正的類那倒無(wú)所謂,但數(shù)據(jù)的操作通常都會(huì)有四,五個(gè)操作,如果也分成許多的類出來(lái),對(duì)單個(gè)是很清晰,但多了難免搞不清。而且操作對(duì)象多的話,那就成倍增長(zhǎng)。
             本來(lái)以前是想著將有相似的操作合并到一個(gè)控制器里,比如,增加,修改操作,顯示,刪除。那樣起碼減少到一半的類。這兩天看到兩個(gè)例子,都是將對(duì)一個(gè)對(duì)象的所有操作都封到一個(gè)類里邊。感覺那樣很簡(jiǎn)潔,數(shù)據(jù)庫(kù)操作都是調(diào)用操作,那樣就算所有操作集合到一個(gè)類也不會(huì)感覺到有多長(zhǎng)。
          我對(duì)兩種方法說(shuō)明一下:
          第一種:是在每個(gè)action配置里增加parameter,在那里做判斷是什么操作。在action里獲得parameter時(shí)行判斷,進(jìn)行相應(yīng)操作,這里用的是傳execute里的所有參數(shù)進(jìn)行處理。
          第二種:在每個(gè)表單里增加action屬性,到時(shí)再判斷,action里采用if-else判斷。
          第一種方法配置的action還是跟以前一樣多,第二種比較簡(jiǎn)潔。以后可以試著采用這種方式,以減少配置與類。其實(shí)隱隱約約還是感覺到有些不明了,還是測(cè)試過(guò)再下定論吧。

          另補(bǔ):
          hibernate的saveOrUpdate可以處理添加得更新兩種操作,雖然很好用。
          今天使用出錯(cuò)了,用了BeanUtils,PropertyUtils復(fù)制屬性,后來(lái)發(fā)現(xiàn)應(yīng)該注意以下
          BeanUtils是復(fù)制屬性返回為字符串的,PropertyUtils復(fù)制返回為對(duì)象。(也不知對(duì)不對(duì))
          因?yàn)楦碌锰砑佣加昧送籪orm,所以有id,這時(shí)如果id類型為int ,而又用了saveOrUpdate,結(jié)果就出錯(cuò)。
          用回Integer就不會(huì)有這回事,
          用了PropertyUtils,saveOrUpdate就要考慮form里不能出現(xiàn)原始類型數(shù)據(jù),因?yàn)槟切┎荒芩銓?duì)象。
          最好是用BeanUtils,別用saveOrUpdate,除非有特殊需要,就少了那些限制。
          --說(shuō)得沒什么條理性,慢慢來(lái)^_^



          posted on 2006-01-20 20:37 你是目標(biāo) 閱讀(295) 評(píng)論(0)  編輯  收藏 所屬分類: STRUTS

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 丰城市| 太和县| 邓州市| 马尔康县| 城步| 黄梅县| 利津县| 淳化县| 灵石县| 渑池县| 白河县| 华阴市| 和静县| 拜城县| 古浪县| 富蕴县| 定州市| 白玉县| 贺州市| 屏南县| 武强县| 肥乡县| 眉山市| 涟源市| 九台市| 安塞县| 洞口县| 靖安县| 广南县| 无棣县| 东城区| 泸溪县| 油尖旺区| 泰和县| 延津县| 黔西县| 甘谷县| 泾源县| 麟游县| 邯郸市| 大厂|