您的位置:首页 > 编程语言 > Java开发

Struts2关于Action的系统训练5关于使用通配符来控制action方法的使用

2014-12-16 15:19 483 查看
上节我们使用动态方法调用,这次给出更加方便,更加简洁的形式,废话不说,先上代码:

struts配置文件;

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<constant name="struts.devMode" value="true" />
<package name="actions" extends="struts-default" namespace="/actions">
<action name="Student*" class="com.bjsxt.struts2.action.StudentAction" method="{1}">
<result>/Student{1}_success.jsp</result>
</action>

<action name="*_*" class="com.bjsxt.struts2.action.{1}Action" method="{2}">
<result>/{1}_{2}_success.jsp</result>
</action>
</package>
</struts>


本次使用了两个action,分别为:StudentAction.java代码如下:

package com.bjsxt.struts2.action;

import com.opensymphony.xwork2.ActionSupport;

public class StudentAction extends ActionSupport {
public String add() {
return SUCCESS;
}
public String delete() {
return SUCCESS;
}

}
TeacherAction.java代码如下:

package com.bjsxt.struts2.action;

import com.opensymphony.xwork2.ActionSupport;

public class TeacherAction extends ActionSupport {
public String add() {
return SUCCESS;
}

public String delete() {
return SUCCESS;
}

}
使用的jsp有四个,名称分别为:1 Studentadd_success.jsp 2 Studentdelete_success.jsp 3 Teacher_add_success.jsp 4 Teacher_delete_success.jsp,我们来演示一下这样做的好处。

在struts中

<action name="Student*" class="com.bjsxt.struts2.action.StudentAction" method="{1}">
<result>/Student{1}_success.jsp</result>
</action>
name后面Student*,大家知道*表示通配,这样method为1使用StudentAction的add方法,返回Studentadd_success.jsp。同理第二个action可以匹配多个action中不同方法,更加的灵活,大家要是不太清楚地话可以观察地址栏的url来理解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐