03 ActionWildcard_通配符配置02

1.  在Gao_struts2/WebRoot新建Admin_add_success.jsp和Admin_add_db_success.jsp

其中Admin_add_success.jsp的<body>内容为:Admin add success! <br>

Admin_add_db_success.jsp的<body>内容为:Admin add db success! <br>

 

 

2.  新建java类

package action;

 

importcom.opensymphony.xwork2.ActionSupport;

 

public class AdminAction extends ActionSupport

{

        public String add()

         {

           returnSUCCESS;

         }

}

3.  在Gao_struts2/src目录下,修改struts.xml

   <?xmlversion="1.0"encoding="UTF-8"?>

<!DOCTYPEstrutsPUBLIC

    "-//ApacheSoftware Foundation//DTD Struts Configuration 2.0//EN"

    "http://struts.apache.org/dtds/struts-2.0.dtd">

 

<struts>

<packagename="struts"namespace="/struts"extends="struts-default">

        <actionname="user*"class="action.UserAction"method="{1}">

            <result>/user{1}_success.jsp</result>

        </action>

        <actionname="*_*"class="action.{1}Action"method="{2}">

            <result>/{1}_{2}_success.jsp</result>

        </action>

        <actionname="*_*_*"class="action.{1}Action"method="{2}">

            <result>/{1}_{2}_{3}_success.jsp</result>

        </action>

</package>

</struts>

4.   运行

1)   启动tomcat

访问: http://localhost:2000/Gao_struts2/struts/Admin_add.action

页面显示:Admin add success!

2)   访问: http://localhost:2000/Gao_struts2/struts/Admin_add_db.action

页面显示:HTTP Status 500

javax.servlet.ServletException:java.lang.NoSuchMethodException: action.AdminAction.add_db()

3)   修改struts.xml,去除

<actionname="*_*"class="action.{1}Action"method="{2}">

            <result>/{1}_{2}_success.jsp</result>

 </action>

4)    重新部署Gao_struts2,启动tomcat后,再次访问

http://localhost:2000/Gao_struts2/struts/Admin_add_db.action

页面显示:Admin add db success!

 

 

5.   总结

1)       struts.xml中:*表示所有字符、*号之间用_分隔、{数字}表示第几个*,其中分隔符可以根据需要可以改成|等。

2)        struts.xml中存在多个可以匹配上的action时,按上下顺序匹配,所以以_分隔*号时在struts.xml最好只有一个,不然很容易出问题!

3)        struts.xml中一定要遵守"约定优于配置"的原则,这样我们的struts.xml的配置会很简洁,代码和jsp的风格也会很一致和清晰,便于维护。

4)        通过使用struts.xml的通配符,使得struts2的核心技术拦截器的使用能够应用到项目的一些需要切面的功能中如访问action时打印进出口日       志,访问action时记录用户信息等!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值