ActionWildcard通配符配置

Wildcard:通配符

使用通配符将配置量降到最低,一定要遵守约定优于配置的原则

操作:

写两个Action:

(1)StudentAction:

package wildcard.action;

import com.opensymphony.xwork2.ActionSupport;

public class StudentAction extends ActionSupport {
	public String add() {
		return "success";
	}

	public String delete() {
		return "success";
	}

}
(2)TeacherAction:

package wildcard.action;

import com.opensymphony.xwork2.ActionSupport;

public class TeacherAction extends ActionSupport {
	public String add()
	{
		return "success";
	}
	public String delete()
	{
		return "success";
	}

}
struts.xml配置:

<constant name="struts.enable.DynamicMethodInvocation" value="true" />
	<constant name="struts.devMode" value="true" />
	<package name="front" namespace="/front" extends="struts-default">

                <action name="student*" class="wildcard.action.StudentAction"
			method="{1}">
			<result name="success_{1}">
				/Student{1}_success.jsp
			</result>
		</action>
		<action name="*_*" class="wildcard.action.{1}Action" method="{2}">
		    <result >
		    /{1}_{2}_success.jsp
		    </result>
		</action>

运行:






运行时依旧namespace后面加上action的name属性,第一个*找到Action,第二个*找到方法,两个*找到对应的jsp页面。

注意:

如果action的return返回字符串修改了,不是默认的"success",一定要在result标签的添加name属性,通配符表示一致。

ex:

package wildcard.action;

import com.opensymphony.xwork2.ActionSupport;

public class StudentAction extends ActionSupport {
	public String add() {
		return "success_add";
	}

	public String delete() {
		return "success_delete";
	}

}
xml里, 修改为:

                <action name="student*" class="wildcard.action.StudentAction"
			method="{1}" >
			<result name="success_{1}">
				/Student{1}_success.jsp
			</result>
		</action>







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值