Resules的Annotation定义
我们只需要在Action Class的类的前面加上@Result即可以定义Action的跳转
例如:
- @Results({
- @Result(name="input" value="/input.jsp" type=NullResult.class),
- @Reuslt(name="success" value="/success.jsp" type=NullResult.class),
- @Result(name="error" value="/error.jsp" type=NullResult.class)
- })
上面是一个典型的多Result配置,name属性指定返回的字符串,value指定要跳转的页面,type指定Result的类型,type是一个很重要的属性,他有一下几种情况:
1)NullResult : 默认的可以省略
2)ActionChainResult : 用于从一个Action跳转到另外一个Action
例如:
- @Result
- (name = "search",value= "search",type=ActionChainResult.class,
- params={"method","search"})
这个配置是如果返回值为"search"就跳转掉SearchAction的search方法,如果不指定params就跳转到SearchAction的execute方法
3)StreamResult:用于文件下载
例如:
- @Result
- (name="success",value="inputStream",type=StreamResult.class,
- params={"bufferSize",FileConstant.DOWNLOAD_BUFFER_SIZE})
作为Struts2的Annotation配置中最重要的Result配置大致有这几种情况,关于Struts2 Annotation的其他配置我也不是十分了解,就以后在介绍吧!!!