struts.xml配置

Posted 光何

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts.xml配置相关的知识,希望对你有一定的参考价值。

1 package标签

package:完成有业务相关的Action(应用控制器的)管理

name:给包起的名字(反映该包中Action的功能),用来完成包和包之间的继承。默认继承struts-default,struts-default中包含了struts2的核心功能。

namespace:命名空间,默认(/),为Ation请求的路径的前缀。有效的路径构成部分。

extends:完成包之间的继承

2 Action标签

action:描述自定义的应用控制器javabean

name:Action的请求的url

class:处理请求的Action完全限定名

method:指定处理本次请求的方法。

 

 

3 Result标签

result:描述action执行后的结果。   

name:给action执行后需要跳转的路径的别名

type:在struts-default.xml中定义result-type定义(结果类型)

dispatcher:默认值(请求转发到jsp

chain:请求转发,将请求转发到某个Action

redirect:重定向(只能重定向到jsp

redirectAction:重定向,将请求重定向到某个Action

stream:获得流对象,相当于在servlet中的response.getWriter();

plainText:将jsp的源码进行响应

 

4 Action之间的跳转

同一个包和不同包:

<package name="user" namespace="/user" extends="struts-default" >

        <action name="userAction" class="com.bjsxt.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.bjsxt.action.ListAction">

            <result name="list">/list.jsp</result>

        </action>

     </package>

     <package name="list" namespace="/list" extends="struts-default">

        <!-- 配置ListAction -->

        <action name="listAction2" class="com.bjsxt.action.ListAction2">

            <result name="list" type="plainText">

                <param name="charSet">UTF-8</param>

                <param name="location">/list.jsp</param>

            </result>

        </action>

     </package>

 

 

5 Action中方法的调用

默认调用:execute

5.1,通过通配符进行调用。

在定义Action的时候,name的定义格式为url_*,加入method=“{1}”属性

客户端发送请求的时候:必须指定*号的值

5.2方法的动态调用

5.3开启方法的动态调用功能

再struts.xml文件中配置常量

<!-- 配置struts2的常量 :开启方法的动态调用-->

    <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

 

     客户端请求的url:

url ! methodName.action

6 Action的默认配置

<!-- Action的默认配置

     class:ActionSupport

     method:execute

     reult的name属性为:success

     result的type属性为:dispatcher

     -->

     <package name="def" namespace="/" extends="struts-default">

        <action name="defaultAction" >

            <result >/index.jsp</result>

        </action>

     </package>

 

 

 

ServletActionContext.getResponse();


 同一个package的跳转

 不同package之间的Action进行跳转

 

 

 

以上是关于struts.xml配置的主要内容,如果未能解决你的问题,请参考以下文章

struts.xml配置详解

struts.xml 配置详解

struts.xml配置详解

Struts2中Struts.xml的作用是啥?

Struts2 配置文件

idea+struts2配置struts.xml时struts-default出错