在struts1中用ActionForm封装用户请求,但在struts2中Action既封装了用户请求,又处理控制逻辑。而struts2中的模型驱动,能够使struts2达到与struts1类似的效果。用户请求封装到一个javaBean中,然后通过让Action类实现ModelDriven接口来获取该javaBean的实例,从而获得需要的参数。演示代码如下
封装用户请求的JavaBean:
public class HelloWorldForm {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
封装控制逻辑的action类:
import com.opensymphony.xwork2.ModelDriven;
public class HelloWorldAction implements ModelDriven<HelloWorldForm>{
private HelloWorldForm helloWorldForm = new HelloWorldForm();
@Override
public HelloWorldForm getModel() {
return helloWorldForm;
}
public String execute() throws Exception{
if("admin".equals(getModel().getName()))
return "success";
else
return "fail";
}
}