欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Struts2学习笔记(三)之——struts.xml配置文件

程序员文章站 2022-05-17 23:08:12
...
<?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>

Struts2学习笔记(三)之——struts.xml配置文件

 

 

参考:https://www.cnblogs.com/guanghe/p/6058111.html

 

相关标签: struts 配置文件