Resules的Annotation定義

        我們只需要在Action Class的類的前面加上@Result即可以定義Action的跳轉(zhuǎn)

        例如:

       

  1. @Results({
  2.    @Result(name="input" value="/input.jsp" type=NullResult.class),
  3.    @Reuslt(name="success" value="/success.jsp" type=NullResult.class),
  4.    @Result(name="error" value="/error.jsp" type=NullResult.class)
  5. })

        上面是一個典型的多Result配置,name屬性指定返回的字符串,value指定要跳轉(zhuǎn)的頁面,type指定Result的類型,type是一個很重要的屬性,他有一下幾種情況:

       1)NullResult  : 默認(rèn)的可以省略

        2)ActionChainResult : 用于從一個Action跳轉(zhuǎn)到另外一個Action

        例如:

                    

  1. @Result
  2. (name = "search",value= "search",type=ActionChainResult.class,
  3. params={"method","search"})

        這個配置是如果返回值為"search"就跳轉(zhuǎn)掉SearchAction的search方法,如果不指定params就跳轉(zhuǎn)到SearchAction的execute方法

        3)StreamResult:用于文件下載

        例如:

                

  1. @Result
  2. (name="success",value="inputStream",type=StreamResult.class,
  3. params={"bufferSize",FileConstant.DOWNLOAD_BUFFER_SIZE})

        作為Struts2的Annotation配置中最重要的Result配置大致有這幾種情況,關(guān)于Struts2  Annotation的其他配置我也不是十分了解,就以后在介紹吧!!!