Struts2中action请求配置(struts.xml中配置action)

1.普通请求:action名称.action,例如test.action

JSP中body中写入:

<form action="test.action">
姓名:<input name="name">
<input type="submit">
struts.xml中action配置如下:
<action name="test" class="com.shangguan.test.TestAction">
            <result name="success">success.jsp</result>
            <result name="error">error.jsp</result>
</action>
TestAction类文件代码如下:

public class TestAction extends ActionSupport{
	/**
	 * 
	 */
	private static final long serialVersionUID = 4193816458025859084L;
	private String name;
	

	public String getName() {
		return name;
	}


	public void setName(String name) {
		this.name = name;
	}


	@Override
	public String execute() throws Exception {
		if("zhangsan".equals(name)){
			return "success";
		}else{
			return "error";
		}
	}
}

2.动态函数请求:action名称!函数名.action,例如method!add.action。使用动态函数请求时,必须在配置文件中设置struts.enable.DynamicMethodInvocation的属性值为true,让xml支持动态函数,属性的默认值为false。

设置struts.enable.DynamicMethodInvocation的属性值有三种方式,前两种为常用方式:

(1)可以在struts.properties属性文件中写入struts.enable.DynamicMethodInvocation=true。

(2)也可以在struts.xml中配置<constant name="struts.enable.DynamicMethodInvocation" value="true "/>。

(3)也可以在web.xml中的核心控制器对应filter中配置<init-param></init-param>。但是不建议使用
动态函数请求例子如下:

a.在JSP中的body中写入请求:

<a href="method!add.action?name=zhangsan">添加</a>
<a href="method!show.action?name=lisi">展示</a>

b.在处理action请求的类中定义String add()等方法:

public class MethodAction {
	private String name;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	public String add(){
		return "addrs";
	}
	
	public String show(){
		return "showrs";
	}
}


c.在struts.xml中配置action

第一种:

<action name="method" class="com.study.controller.MethodAction">
     <result name="addrs">add.jsp</result>
     <result name="showrs">show.jsp</result>
</action>

第二种:

可以使用通配符来配置action:*代表一个或者多个任意字符串,可以在定义action的name时使用name="*自定义名称",然后在定义method时使用method="{数字}",数字表示前面的第几个*所代表的字符串

JSP页面body中代码如下:

<a href="add_Method!add.action?name=zhangsan">添加</a>
<a href="show_Method!show.action?name=lisi">显示</a>

struts.xml中配置action:

<action name="*_*" class="com.shangguan.test.{2}Action" method=”{1}”>
            <result name="addrs">add.jsp</result>
</action>



或者

<action name="*_Method" class="com.shangguan.test.MethodAction" method=”{1}”>
            <result name="addrs">add.jsp</result>
</action>




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值