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

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

JSP中body中写入:

姓名:
struts.xml中action配置如下:

            success.jsp
            error.jsp
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中配置

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

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

添加
展示

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

第一种:


     add.jsp
     show.jsp

第二种:

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

JSP页面body中代码如下:

添加
显示

struts.xml中配置action:


            add.jsp

 
  

 
  或者 
  


            add.jsp




你可能感兴趣的:(JavaEE)