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的其他配置我也不是十分了解,就以后在介紹吧!!!