当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

<b>Struts构架中action的跳转详解</b>[Java编程]

赞助商链接



  本文“<b>Struts构架中action的跳转详解</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

1.完好的action

<action path="/aFullAction"
type="somePackage.someActionClass">
name="someForm"
input="someJSP.jsp"
<forward name="successful" path="someJSP.jsp"/>
<forward name="failed" path="someOtherJSP.jsp"/>
</action>

首先,Struts的ActionServlet接纳到一个恳求,然后按照struts-config.xml的配置定位到呼应的mapping(映射);接下来假如form的范围是request大概在定义的范围中找不到这个form,成立一个新的form实例;获得form实例今后,调用其reset ()办法,然后将表单中的参数放入form,假如validate属性不为false,调用validate()办法;假如validate()返回非空的ActionErrors,将会被转到input属性指定的URI,假如返回空的ActionErrors,那么履行Action的execute() 办法,按照返回的ActionForward肯定目标URI.

这样做的效果是:execute()仅当validate()成功今后才履行;input属性指定的是一个URI.

2.唯一Form的action

<action path="/aFormOnlyAction"
type="org.apache.struts.actions.ForwardAction"
name="someForm"
input="someJSP.jsp"
parameter="someOtherJSP.jsp"
/>

首先,Struts会在定义的scope搜索someForm,假如找到则重用,假如找不到则新建一个实例;获得form实例今后,调用其reset()办法,然后将表单中的参数放入form,假如validate属性不为false,调用validate()办法;假如validate()返回非空的 ActionErrors,将会被转到input属性指定的URI,假如返回空的ActionErrors,那么转到parameter属性指定的目标 URI.

这样做的效果是:没有action类可以存放我们的业务逻辑,所以全部需求写入的逻辑都只能写到form的reset()大概 validate()办法中.validate()的作用是考证和拜候业务层.因为这里的action映射不包含forward(也没有意义),所以不能重定向,只能用默许的那个forward.这种唯一form的action可以用来处理数据获得并forward到另一个JSP来显示.

3.唯一Action的action

<action path="/anActionOnlyAction"
type="somePackage.someActionClass">
input="someJSP.jsp"
<forward name="successful" path="someJSP.jsp"/>
<forward name="failed" path="someOtherJSP.jsp"/>
</action>

首先,ActionServlet接纳到恳求后,获得action类实例,调用execute()办法;然后按照返回的ActionForward在配置中找forward,forward到指定的URI或action.

这样做的效果是:没有form实例被传入execute()办法,于是execute()必须自己从恳求中获得参数.Action可以被forward大概重定向.这种action不能处理通过HTML FORM提交的恳求,只能处理链接式的恳求.

4.唯一JSP的action

<action path="/aJSPOnlyAction"
type="org.apache.struts.actions.ForwardAction"
parameter="someOtherJSP.jsp"
/>

首先,ActionServlet接到恳求后调用ForwardAction的execute()办法,execute()按照配置的parameter属性值来forward到那个URI.

这样做的效果是:没有任何form被实例化,对比实际的情形大概是form在request更高级别的范围中定义;大概这个action被用作在利用程序编译好后充当系统参数,只需求更改这个配置文件而不需求重新编译系统.


  以上是“<b>Struts构架中action的跳转详解</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • <b>hosts是什么 hosts文件在什么位置 若何改正hosts</b>
  • <b>在 Windows 8 中手动安装语言包</b>
  • <b>五个常见 PHP数据库问题</b>
  • Windows中Alt键的12个高效快速的利用本领介绍
  • <b>MySQL ORDER BY 的实现解析</b>
  • <b>详解MySQL存储历程参数有三种范例(in、out、inout)</b>
  • <b>Win8系统恢复出来经典的开始菜单的办法</b>
  • <b>Win8系统花屏怎么办 Win8系统花屏的办理办法</b>
  • <b>Windows 7系统下无线网卡安装</b>
  • <b>为什么 Linux不需求碎片整理</b>
  • <b>Windows 8中删除账户的几种办法(图)</b>
  • <b>教你如安在win7下配置路由器</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .