在struts2中Action的属性用来封装请求参数,可以是普通属性也可以是对象模型,不管何种方式,问题是:属性的值是怎么赋值的?考察方式可以在Action中添加一个简单属性,生成getter setter方法,在setter方法中添加断点可以跟踪。Action的代码如下:
1. Action代码
package com.web;
public class UserAction {
private String name;
public UserAction(){
System.out.println("==创建UserAction对象=");
}
public String execute(){
System.out.println("执行execute方法...");
System.out.println("name========="+name);
return "success";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;//在该行添加断点调试运行Tomcat
}
}
2. 执行过程如下图
具体执行流程请看图片中的步骤。注意附加Struts的源码和OGNL的源码。