`

《研磨struts2》第五章 Result 之 5.1 Result基础

阅读更多

5.1  Result基础

5.1.1  Result是什么和能干什么

简单的说,Result是Action执行完后返回的一个字符串,它指示了Action执行完成后,下一个页面在哪里。

具体页面在哪里,是在struts.xml里面配置的。就是每个<action>元素里面,配置的<result>子元素,比如:

 

java代码:
  1. <action name="helloworldAction" class="cn.javass.action.action.HelloWorldAction">  
  2.             <result name="toWelcome">/s2impl/welcome.jsp</result>  
  3.             <result name="input">/s2impl/login.jsp</result>  
  4. </action>  

而Action执行完后返回的字符串,就是上面配置的<result>的name属性的值。

5.1.2  ResultResultType

按照上面的讲述,Result仅仅是个字符串,仅仅是用来指示下一个页面的,那么如何才能够到达下一个页面呢?下一个页面如何能正确地展示结果呢?

       这就该引出一个新概念——ResultType,所谓ResultType,指的是具体执行Result的类,由它来决定采用哪一种视图技术,将执行结果展现给用户。

       很多时候,我们并不去区分Result和ResultType,而是笼统的称为Result。因此,Result除了当作上面讲述的字符串来理解外,还可以把Result当作技术,把Result当作实现MVC模型中的View视图的技术,也就是ResultType来看待。

在Struts2中,可以使用多种视图技术,如jsp、freemarker、velocity、jfreechart等等,同时,Struts2也支持用户自定义ResultType,来打造自己的视图技术。

5.1.3  Result有什么

1:对于Result

在Struts2中,预定义了一些Result的字符串常量,如下:

  • SUCCESS:表示Action执行成功,显示结果视图给用户,值为字符串"success"。
  • NONE:表示Action执行成功,不需要显示视图给用户,值为字符串"none"。
  • ERROR:表示Action执行失败,显示错误页面给用户,值为字符串"error"。
  • INPUT:表示执行Action需要更多的输入信息,回到input对应的页面,值为字符串"input"。
  • LOGIN:表示因用户没有登陆而没有正确执行,将返回该登陆视图,值为字符串"login"。

当然,你可以不使用这些字符串常量,而是使用自己定义的字符串,这样做是没有问题的,只要你在Action里面返回的字符串,跟在struts.xml里面配置的result的name属性值一样就可以了。

2:对于ResultType

在Struts2中,ResultType也分成了预定义和自定义两种情况。对于预定义的ResultType类,接下来就详细讲述;而自定义的ResultType,放到后面去讲述。

 

私塾在线网站原创《研磨struts2》系列

转自请注明出处:【http://sishuok.com/forum/blogPost/list/0/4050.html

欢迎访问http://sishuok.com获取更多内容

5
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics