posts - 297,  comments - 1618,  trackbacks - 0
    说明:本文翻译自struts自带的doc,路经为:struts-2.0.8-all\struts-2.0.8\docs\docs\selecting-results.html

    在编写Action这一章节中,我们创建了一个Logon类来测试输入。在本章中,我们将使这个测试的结果起作用。

一.             选择一个“Input”结果

     在一个Action执行一个请求后,一个提供用来作为这个请求回应的结果被选择。这个结果可以简单的定向到一个HTML页面、一个JSP页面、一个FreeMaker或一个Velocity模板、或者这个结果可能构造一个PDF或某些更加复杂的输出(例如JasperReports)。在一个action映射中可能有多个可选的结果。为了指明那一个被选择,Action类返回一个与正确结果相对应的名字。

二.             代码

struts.xml的代码如下所示:

<action name="Logon" class="tutorial.Logon">
 <result type="redirect-action">Menu</result>
 <result name="input">/tutorial/Logon.jsp</result>
</action>

三.             代码是如何工作的?

   1. 如果你在表单中输入usernamepassword属性,Logon Action将会返回“success”;

   2. 如果你其中一者或两者都没有输入值,Logon Action将返回“input”,框架将会使用Logon.jsp作为回应。

    在Hello World章节中,我们的结果使用了默认的类型:DispatcherDispatcher定向到另外的web资源。其它种类的视图能够被用来指明不同的结果类型。

     Logon映射为success(默认的返回值)使用了一种不同的返回类型。“redirect-action”使用Action的名字作为参数,接着使客户端定向到一个新的action

四.             使用一个Stub

     当我们开发web应用程序的时候,我们常常需要进行forward引用——我们需要引用到一个我们还没有开始写的action。例如,在文章的第一部分中,下一步是跳转到“Menu”页面。如果我们成功登录,我们就没有地方去了,因为“Menu”尚不存在。

     解决这种问题的方法是创建一个StubMenu”页。

     Menu.jsp的代码如下:

<html>
<head><title>Missing Feature</title></head>
<body>
<p>
    This feature is under construction.
    Please try again in the next interation.
</p>
</body>
</html>

    这段代码是如何工作的呢?

    1. 当登录class返回“Menu”时,框架将会将其与通配符映射对应起来;

    2. 框架现在将会返回一个stub的“Menu.jsp”。

    说明:如果你没有使用通配符,另一种注入一个丢失页面的方法就是指定一个<action-default-ref>元素。

五.             包括一个缺失页面

     如果你页到页的建造一个应用程序,建立一个标准的缺失页面时对应的标准页面是非常必要的。Menu.jsp的代码如下:

  <%@ taglib prefix="s" uri="/struts-tags" %>
  <s:include value="Missing.jsp" />

     这段代码是如何工作的呢?

    当需要展现Menu.jsp的时候,它将会包括标准的Missing.jsp的内容。

六.             需要记住的东西

     本框架提供多种返回类型。一个Action能够通过名字选择正确的返回结果,而不用知道到底是哪一种返回类型。

下一章:验证输入值
上一章:编写Action

posted on 2007-07-31 12:36 阿蜜果 阅读(2150) 评论(3)  编辑  收藏 所属分类: Struts2


FeedBack:
# re: Struts2学习进阶(五)——选择结果
2007-07-31 23:22 | -274°C
老姐,开始发力了。  回复  更多评论
  
# re: Struts2学习进阶(五)——选择结果
2007-08-02 15:26 | 阿蜜果
是啊,安静太久了,想发发威!!!
:)  回复  更多评论
  
# re: Struts2学习进阶(基础篇五)——选择结果
2007-08-23 16:24 | passer
<action-default-ref>

上面这个tag怎么加在struts.xml中?  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2007年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

      生活将我们磨圆,是为了让我们滚得更远——“圆”来如此。
      我的作品:
      玩转Axure RP  (2015年12月出版)
      

      Power Designer系统分析与建模实战  (2015年7月出版)
      
     Struts2+Hibernate3+Spring2   (2010年5月出版)
     

留言簿(259)

随笔分类

随笔档案

文章分类

相册

关注blog

积分与排名

  • 积分 - 2209810
  • 排名 - 3

最新评论

阅读排行榜

评论排行榜