(5)通配符

来源:互联网 发布:python视频教程 廖雪峰 编辑:程序博客网 时间:2024/06/02 02:58
<struts>    <constant name="struts.devMode" value="true" /><!-- 开启使用开发模式,详细错误提示,否则得重新部署,才能将修改改动-->    <package name="user" namespace="/actions" extends="struts-default">       <!-- 若地址栏输入http://localhost:8080/struct_ActionWildcard/actions/useradd             在struct中并没有useradd,所以再从带有通配符中找,则此时第一个*,就代表add            (系统默认给*编号,{1}则代表第一个*  即add)        从上面可以看出可以动态输入不同的action。例如:http://localhost:8080/struct_ActionWildcard/actions/userdel!del       -->       <!-- 在之前的!(struct_actionMethod)中也可以简化操作,但是result里面的内容一定是不同的, <action name="add">/user_add_success.jsp          所以通配符能够最大程度简化操作。        -->        <action name="user_add"></action><!-- 则会执行这个,而不执行带有通配符的 -->        <!-- 若action中没有,但是在用URL使用user_add两者都能匹配,此时看哪个写在前面,则匹配哪个 -->        <!-- 若使用通配符,则必须遵守"约定优于配置" 的原则 -->       <action name="user*" class="com.front.action.UserAction" method="{1}">          <result><!-- 等价于<result name="success"> 没写name,所以默认值为success> -->             /user_{1}_success.jsp          </result>       </action >       <!-- 通配符对于简单的CRUD的工程或者软件原型,只要含有Action的包名、action的类名、对应的方法名写有规律的应用,可以大大简化配置的工作 -->         <action name="*_*" class="com.front.action.{1}Action" method="{2}">          <result>             /{1}_{2}_success.jsp          </result>       </action >       <!-- 这里补充说明class:大多数情况,需要配置class属性的值,因为我们需要把自己,用来处理请求的Action类配置上去,,而不是使用默认的配置。          现在考虑一种情况,对于安全性比较高的web项目,往往把jsp放在web-inf下,这样可以防止外界直接使用URL来访问jsp页面,这时的jsp就一定在servlet或者Action的后继页面         才能访问到。因此,可以把之前不需要Action处理的页面,可以作为ActionSupport的后继页面,使用default-class-ref,可以减少配置。        -->       <action name="index" >          <result><!-- 等价于<result name="success"> 没写name,所以默认值为success> -->             /WEB-INF/first.jsp          </result>       </action >    </package></struts>
public class TeacherAction extends ActionSupport{    public String add(){        // TODO Auto-generated method stub        return SUCCESS;    }    public String del(){        // TODO Auto-generated method stub        return SUCCESS;    }    public String update(){        // TODO Auto-generated method stub        return SUCCESS;    }    public String look(){        // TODO Auto-generated method stub        return SUCCESS;    }}

这里写图片描述

原创粉丝点击