Struts2学习笔记(三)之——struts.xml配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<package name="manage" namespace="/" extends="struts-default">
<global-results>
<result name="error">error.jsp</result>
</global-results>
<action name="hello" class="com.java1234.action.HelloWorldAction">
<result name="success" >success.jsp</result>
<result name="r" type="redirect">success.jsp</result>
<result name="c" type="chain">hello2</result>
<result name="ra" type="redirectAction">hello2</result>
</action>
<action name="hello2" class="com.java1234.action.HelloWorldAction2">
<result name="success" type="dispatcher">success.jsp</result>
</action>
</package>
</struts>
1.package配置
<package name="manage" namespace="/" extends="struts-default">
package:完成有业务相关的Action(应用控制器的)管理
name:给包起的名字(反映该包中Action的功能),用来完成包和包之间的继承。默认继承
struts-default,struts-default中包含了struts2的核心功能。
namespace:命名空间,默认(/),为Ation请求的路径的前缀。有效的路径构成部分。
extends:完成包之间的继承
2.Action配置
<action name="hello" class="com.java1234.action.HelloWorldAction">
<result name="success" >success.jsp</result>
<result name="r" type="redirect">success.jsp</result>
<result name="c" type="chain">hello2</result>
<result name="ra" type="redirectAction">hello2</result>
</action>
action:描述自定义的应用控制器javabean
name:Action的请求的url
class:处理请求的Action完全限定名
method:指定处理本次请求的方法。
3.Result标签
<action name="hello" class="com.java1234.action.HelloWorldAction">
<result name="success" >success.jsp</result>
<result name="r" type="redirect">success.jsp</result>
<result name="c" type="chain">hello2</result>
<result name="ra" type="redirectAction">hello2</result>
</action>
<action name="hello2" class="com.java1234.action.HelloWorldAction2">
<result name="success" type="dispatcher">success.jsp</result>
</action>
result:描述action执行后的结果。
name:给action执行后需要跳转的路径的别名
type:在struts-default.xml中定义result-type定义(结果类型)
dispatcher:默认值(请求转发到jsp)
chain:请求转发,将请求转发到某个Action 会携带多个Action中的参数
redirect:重定向(只能重定向到jsp)
redirectAction:重定向,将请求重定向到某个Action 只带最后一个Action的参数
stream:获得流对象,相当于在servlet中的response.getWriter();
plainText:将jsp的源码进行响应
4.Action之间的跳转
同一个包和不同包:
<package name="user" namespace="/user" extends="struts-default">
<action name="userAction" class="com.guangsoft.action.UserAction">
<!-- 同一个package中不同的Action之间的跳转 -->
<result name="listtoAction" type="chain">listAction</result>
<result name="login">/index.jsp</result>
<!-- 不同package中不同的Action之间的跳转 -->
<result name="listtoAction2" type="chain">
<!-- param的作用:用来完成给chain对应的类中的属性赋值 -->
<param name="namespace">/list</param>
<param name="actionName">listAction2</param>
</result>
</action>
<!-- 配置ListAction -->
<action name="listAction" class="com.guangsoft.action.ListAction">
<result name="list">/list.jsp</result>
</action>
</package>
<package name="list" namespace="/list" extends="struts-default">
<!-- 配置ListAction -->
<action name="listAction2" class="com.guangsoft.action.ListAction2">
<result name="list" type="plainText">
<param name="charSet">UTF-8</param>
<param name="location">/list.jsp</param>
</result>
</action>
</package>
5.分模块配置方法
<includefile=""></include>这种方法可以清晰明了多个模块的配置
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="cheliang.xml"></include>
<include file="zichan.xml"></include>
</struts>
zichan.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="zichang" namespace="/zichan" extends="struts-default">
<action name="zichan" class="com.java1234.action.ZiChanAction">
<result name="success">${pageContext.request.contextPath}/success.jsp</result>
</action>
</package>
</struts>
cheliang.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="cheliang" namespace="/cheliang" extends="struts-default">
<action name="cheliang" class="com.java1234.action.CheLiangAction">
<result name="success">${pageContext.request.contextPath}/success.jsp</result>
</action>
</package>
</struts>
6.全局配置error页面
<global-results>
<result name="error">error.jsp</result>
</global-results>
参考:https://www.cnblogs.com/guanghe/p/6058111.html
推荐阅读
-
C# LINQ学习笔记三:LINQ to OBJECT之操作字符串
-
【学习笔记】第三方登录之GitHub篇
-
Java学习笔记十八:Java面向对象的三大特性之封装
-
Java学习笔记二十一:Java面向对象的三大特性之继承
-
hadoop学习笔记之hadoop伪分布集群搭建(三)
-
深入浅出MFC学习笔记 第三章 MFC六大关键技术之仿真
-
学习笔记之Qt从入门到精通(三)
-
C# LINQ学习笔记三:LINQ to OBJECT之操作字符串
-
深度学习之格式转换笔记(三):keras(.hdf5)模型转TensorFlow(.pb) 转TensorRT(.uff)格式
-
Android学习笔记之ExpandableListView 三级