struts2的核心配置

1.struts.xml文件配置:

包配置<package>标签、常量配置<constant>标签、包含配置<include>标签

①<package>  :主要对action配置,package的属性值一般固定写法

 <!--配置Struts2的包
         package      :
            name      :包名 方便管理action,不能与项目中的包名一样
            extends   :继承哪个包,值通常不修改......struts-default(里面实现了各种拦截器)
            namespace :名称空间,与<action>标签中的name属性共同决定访问路劲
                       三种写法:   带名称的名称空间 :namespace="/aaa"   先访问
                                   根名称空间       :namespace="/"
                                   默认名称空间     :namespace=""
            abstract  :抽象的包,用于其他包的继承
    -->
    <package name="hello" extends="struts-default" namespace="/">
        <!--配置Action
            name    :与namespace共同决定访问路劲
            class   :Action的全路径
            method  :执行Action的那个方法名的名称:  默认值.....execute()
            converter   :自定义一个类型转化器
        -->
        <action name="hello" class="com.jjxy.struts2.HelloAction" method="execute">
            <!--配置页面的跳转-->
            <result name="success">success.jsp</result>
        </action>

②<constant> : 常量配置,Struts2内置非常多的常量.....在struts2-core-2.3.24.jar 中的 default.properties文件中

    <!--struts2常量配置
          常量修改  :配置文件的加载顺序 1->2->3  后加载的配置文件会覆盖前面的配置文件
                              1.struts.xml  constant标签(常量配置首选位置)
                              2.在src下新建一个struts.properties文件  只能修改常量
                              3.在web.xml文件 初始化参数  filter 标签中  <init-param>
                                                                                <param-name>struts.action.extension</param-name>
                                                                                <param-value>action</param-value>
                                                                           </init-param>
    -->

    <constant name="struts.action.extension" value="action"/><!--修改structs2 的扩展名-->
    <constant name="struts.enable.DynamicMethodInvocation" value="true"/><!--动态方法访问打开-->

③<include> :        引入其他路径下的配置文件....分模块开发

<include file="com/jjxy/struts2/demo1/pojo_struts.xml"/>
<include file="com/jjxy/struts2/demo2/struts.xml"/>

2.Action控制类的三种方式  :

pojo(简单的java对象)、实现Action接口、继承ActionSupport类(开发常用的方式)

①pojo  ................只需在控制类中定义一个返回值为String类型的execute()方法  :如下

public class HelloAction {
    public  String execute(){
        System.out.println("HelloWorld!!!");
        return null;
    }
}

注:execute()是受核心配置文件struts.xml,包配置的中的action标签中的method属性指定的默认值。如果要更改方法名,只需自己自定义即可。

②实现Action接口 :Action接口中定义了五个常量和一个默认的execute()方法

* Action接口:提供了五个常量(五个逻辑接口的名称)
*       SUCCESS :成功
*       ERROR   :失败
*       LOGIN   :登录出错页面跳转
*       INPUT   :表单校验、类型转换出现错误跳转
*       NONE    :页面不跳转
*
* */
public class ActionImpl implements Action {
    @Override
    public String execute() throws Exception {
        System.out.println("ActionImpl执行.....");
        return NONE;
    }
}

注: 返回的常量值要与struts.xml文件中<action>标签的里的<result>的name属性值对应,这样就可关联跳转

③继承ActionSupport类 :它实现了Action接口和其他一系列的接口,功能强大,撸它就没错了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值