| 采用注解的優(yōu)點: 使得代碼看起來簡單方便,并且讓一個映射變得更加的獨立。傳統(tǒng)的方式是配置struts.xml配置訪問與Action的映射關系,如果映射比較多的時候就會顯得比較雜亂,而且還有其它的異常處理類、攔截器等。會使得struts.xml變得更加的雜亂了。不方便我們剖析。 詳情參看:http://www.ahfyzs.com/showWeb/0/0/209474603.aspx 那么就有一個新的方法誕生了:就是采用注解的方式,讓配置與Action在一起,那么我們分析代碼的時候也就變得更加的清晰容易了。 當然,這兩種方法都是對的,根據(jù)每個人的習慣問題,可以采用不同的方法配置。就目前而言,我所理解的:如果大型的項目,采用注解的方式比較好。中小型項目XML方式配置還是蠻不錯的。 接下來我們就了解一下如何的使用注解進行配置了: 當然,首先的必備知識就是注解的學習了。前面已經(jīng)總結(jié),此時不再贅述。 下面了解一下XML中的配置與采用注解配置的對應關系: Package ·在struts.xml中根元素為<package>這個是配置包,以及其繼承關系; ·那么采用注解方式配置方法為:@ParentPackage(value="struts-default"),當然如果鍵值為value的時候可以省略的 Action ·struts.xml中的Action配置就不比詳解了,它包含有URL與Action的映射、方法的設置、攔截器的添加、結(jié)果的分配等; ·采用注解的時候,它有如下的幾個屬性: 1、 value:對應的就是URL,類型為String 2、 results:對應的就是action不同的執(zhí)行結(jié)果對應的操作類,類型為Result[],那么Result的屬性及其內(nèi)容如下: a) name:結(jié)果的類型,也就是Action中的常量字段,如:SUCCESS、INPUT等,類型為String b) location:結(jié)果所處的位置,可以為Action、jsp、html等,類型為String c) params:要給結(jié)果傳遞的參數(shù),格式為:{"key","value", "key2", "value2"},類型為String[] 3、 interceptorRefs:對應的就是攔截器,它的類型為:InterceptorRef[],那么InterceptorRef屬性如下: a) name:interceptor的名字、或者interceptor-stack的名字 b) params:為攔截器傳遞的參數(shù),其格式及類型和Result的params的一樣 4、 params:為這個Action傳遞的參數(shù),類型和格式和Result的params一樣 5、 exceptionMappings:類型為ExceptionMapping[],那么ExceptionMapping的屬性如下: a) result:結(jié)果名字,類型為String b) exception:所拋出的異常,類型為String c) params:為異常所傳遞的參數(shù),類型和Result的params一樣 那么就此,就完成了常用的對應總結(jié)。 下面是一個很簡單的應用例子,只給出部分代碼: …… @ParentPackage(value="struts-default") @Action(value = "register", results = { @Result(location = "/registerResult.jsp", name ="success") }) public class RegisterAction extends DefaultActionSupport { private String username; private String password; private Stringrepassword; private int age; private Date birthday; private Date graduation; …… 其實它和XML沒有什么的區(qū)別。 那么當它和XML配置文件同時存在的時候,應該以注解的配置為準。 | 
|  |