<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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |