管理信息配置的手段:(也就是在访问时加个前坠)
如果:访问的时候加访问前坠,在<package>标签里加个namespace标签,默认是为空的:namespace=" ",在实际应用中、有大型项目的时候容易区别。如:
*加namespace之前:http://localhost:8080/appname/login
加上namespace之后:
<package name="ssh" extends="struts-default" namespace="admin">
改变访问:http://localhost:8080/appname/admin/login
结果类型(跳转类型)<result name="XXX" class="XXX" namespace="XXX">
namespace的取值为:
type=dispatcher
type=redirect
type=chain
type=redirectAction
type的取值到底应该怎么样去取?
*Action-->JSP(跳过去之后地址栏不变)
1、转发:dispatcher-->type属性的默认值,及默认是向JSP转发
<!--action向jsp转发-->
<action name="dispatcher" class="ssh.ActionDispather">
<result name="disok" type="dispatcher">/index.jsp</result>
</action>
2、重定向(跳过去之后地址栏改变)
<!--action向jsp重定向-->
<action name="redirect" class="ssh.ActionRedirect">
<result name="redirectok" type="redirect">/inde.jsp</result>
</action>
*Action-->Action
1、转发(type=”chain”不建议使用)
<!--action向action转发-->
<action name="chain" class="ssh.ActionChain">
<result name="chainok" type="chain">redirect</result>
<action>
2、重定向
<!--action向action重定向:改变路径-->
<action name="redirect" class="ssh.ActionRedirectAction>
<result name="redirectActionok" type="redirectAction">chain</result>
</action>
/*访问时:http://localhost:8080/项目名/jump/redirect(jump是<packge>标签里的namespace=“jump"属性)
访问流程:
在敲回车后:会访问:ActionRedirectAction这个类,返回redirectActionok,回来后和<result>里的 name属性值相匹配。开始重定向跳转(因为type=”redirectAction"),找到“chain”相匹配的,是“1、转发”中的“< action name="chain" >”,相匹配,之后访问:“class="ssh.ActionChain"这个类,返回:“chainok”,和<result name="chainok">相匹配,开始转发(因为 type="chain")找到dispatcher相匹配<action>:<action name="redirect" class="ssh.ActionRedirect">,返回redirectok,再找相匹配的<result name="redirectok" >之后执行后面的后面的重定向(type="redirect")跳转到:inde.jsp页面
*/
*重定向细节:
1、跳转方式的选取:转发——重定向
1.1、如果转发可以满足需求,则转发
1.2、如果要防止表单重复提交,则使用重定向
2、action之间的跳转选取:chain——redirectAction
*每个Action独立的处理单元:独立的完事的完成一个功能
*一个请求内部不建议使用多个 Action
*当一个复合功能需要多个Action之间相互配合时:建议使用redirectAtion