今天開發一個小項目,使用了s2sh組合感覺有點小爽,免去了很多配置,之前使用struts1+sh組合action也需要進行bean配置比如
<action path="/login" type="org.springframework.web.struts.DelegatingActionProxy"
name=""
scope=""
validate=""
>
<forward name="" path=""/>
</action>
里面的org.springframework.web.struts.DelegatingActionProxy必寫。
但是使用s2sh組合,action可以進行注解配置,省去了form以及action的xml配置感覺很簡潔,并且如果使用struts.xml文件進行action配置的話,就沒有類似于org.springframework.web.struts.DelegatingActionProxy這種寫法,它里面的配置一般會有class屬性,該屬性就是創建Action實例的實現類,但是使用struts2提供的spring插件整合后,該class屬性可以定義為spring容器中的Bean id,這里即和struts1中的org.springframework.web.struts.DelegatingActionProxy配置相對應,指向的action只是一個傀儡,其實指的是spring容器里面的Action實例,這個才是真正處理用戶請求的控制器。這是其一,第二:頁面取值的時候不能類似于struts1那樣直接指定${list}4個范圍內會依次自動查找,struts2使用#符號必須指定范圍內進行取值比如:#session.list這種形式取出。如果list存入session范圍內并使用#list這種形式取值,那么它不會在4個范圍內自動查找也就找不到值,必須指定一個范圍page、request、session、application其中之一才能取出值。第三:使用HibernateTemplate時候使用find("hql")方法查詢,默認使用的是hql語句,而且可以查詢視圖今天也才了解到視圖也不過是拼湊的sql語句而已,那么里面的表字段使用find("hql")方法進行查詢的時候仍然要使用類+類名.屬性進行查詢,同時又溫習了多表關聯查詢的語句寫法,如果是關聯N個表查詢,那么where子句必須至少有N-1個條件,這樣查詢的記錄才不會有重復,這是定律。。。今天就只加了一個條件結果一大堆重復記錄。。。牢記!總之發現使用s2sh組合,代碼更加簡潔更加漂亮,總讓人有種不斷優化想寫出完美代碼的沖動。。。^_^
posted on 2010-09-07 23:45
朔望魔刃 閱讀(381)
評論(0) 編輯 收藏