struts2(3)配置进阶

10 篇文章 0 订阅

目录

1.动态方法的调用

第一种方式

第二种方式(通配符方式推荐使用)

struts2属性的默认值(了解)


 

struts2配置的进阶

1.动态方法的调用

定义一个action,里面有多个方法

package cn.ycsj.hiber.test;
public class DanamicAction {
    public String add(){
        System.out.println("add....");
        return "success";
    }
    public String delete(){
        System.out.println("delete....");
        return "success";
    }
    public String update(){
        System.out.println("update....");
        return "success";
    }
    public String select(){
        System.out.println("select....");
        return "success";
    }
}

在src/struts.xml配置action,或者在包下直接新建一个struts.xml,在src下的struts.xml中添加

<include file="cn/ycsj/hiber/test/struts.xml"/>    //引入其他struts配置文件

然后再新建的cn/ycsj/hiber/test/struts.xml配置action  这样防止主配置文件看着臃肿

第一种方式

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
        "http://struts.apache.org/dtds/struts-2.3.dtd">

<struts>
    <!--配置动态方法调用常量开启  默认是关闭的  需要设置为true
   http://localhost:8080/HibernateTest/dynamic/DanamicAction!方法名
    http://localhost:8080/HibernateTest/dynamic/DanamicAction!方法名.action

    -->

    <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
<!--在配置的action中不配置method -->
<package name="dynamic" namespace="/dynamic" extends="struts-default">
    <action name="DanamicAction" class="cn.ycsj.hiber.test.DanamicAction">
        <result name="success" type="dispatcher">/Hello.jsp</result>
    </action>
</package>

</struts>
 


第二种方式(通配符方式推荐使用)


​​​​​<package name="dynamic" namespace="/dynamic" extends="struts-default">
    <!--动态方法调用方式2:通配符方式
    使用{1} 取出第一个*通配符的内容
    访问方式 http://localhost:8080/HibernateTest/dynamic/DanamicAction_方法名
    http://localhost:8080/HibernateTest/dynamic/DanamicAction_方法名.action
    -->

   <action name="DanamicAction_*" class="cn.ycsj.hiber.test.DanamicAction" method="{1}">
        <result name="success" type="dispatcher">/Hello.jsp</result>

    </action>
</package>

在struts2.5以后需要添加strict-method-invocation="false"

<package name="hello" namespace="/hello" extends="struts-default" strict-method-invocation="false">
   <action name="TestAction_*" class="cn.itcast.action.TestAction" method="{1}">
      <result name="success" type="dispatcher">/welcome.htm</result>
   </action>
</package>

 

 

 

struts2属性的默认值(了解)

在action中

method:execute

result name属性:success

result type属性 dispatcher

<default-action-ref name=''></default-action-ref>   

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值