Resules的Annotation定义

        我们只需要在Action Class的类的前面加上@Result即可以定义Action的跳转

        例如:

       

  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指定要跳转的页面,type指定Result的类型,type是一个很重要的属性,他有一下几种情况:

       1)NullResult  : 默认的可以省略

        2)ActionChainResult : 用于从一个Action跳转到另外一个Action

        例如:

                    

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

        这个配置是如果返回值为"search"就跳转掉SearchAction的search方法,如果不指定params就跳转到SearchAction的execute方法

        3)StreamResult:用于文件下载

        例如:

                

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

        作为Struts2的Annotation配置中最重要的Result配置大致有这几种情况,关于Struts2  Annotation的其他配置我也不是十分了解,就以后在介绍吧!!!