Struts2之Action开发模式

一、Struts2模型  

  1、作用范围

  Struts2提供了Map类型的request、session、application,可以从ActionContext对象中获得,它是Action执行的上下文。通常使用ActionContext对象的getContext()方法进行创建,如下,

1 Map request = ActionContext.getContext.get("request") ;
View Code

  同样的,ActionContext类提供getSession()、getApplication()方法获得session和application。返回的Map对象的作用范围分别会HttpSession和ServletContext中。

  2、域模型DomainModel

  将一些属性信息封装成一个实体对象,例如将一个用户信息数据保存到数据库中,只需要传一个User对象即可,Struts2框架中个,提供了操作领域对象的方法,可以在Action对象中引用某一个实体对象,并且HTTP请求中的参数值可以注入到实体对象中的属性上。这种方式就是Struts2提供的DomainModel的方式。

  其中,user类中定义了四个属性。

 1 public class UserAction extends ActionSupport {
 2     private User user;
 3 
 4     public User getUser() {
 5         return user;
 6     }
 7 
 8     public void setUser(User user) {
 9         this.user = user;
10     }
11     
12     @Override
13     public String execute() throws Exception {
14         System.out.println("username: "+user.getUsername());
15         System.out.println("password: "+user.getPassword());
16         
17         return SUCCESS;
18     }
19 }
View Code  
        <s:form action="registr.action">
        
            <s:textfield name="username" label="username"></s:textfield>
            <s:password name="password" label="password"></s:password>
            <s:radio name="sex" list="#{1:'male',0:'female'}" label="sex"></s:radio>            
            <s:submit value="submit"></s:submit>        
        
        </s:form>

  3、驱动模型ModelDriven

  在Struts2框架中个,提供一个名称为ModelDriven的接口,Action对象可以通过实现此接口获取指定的实体对象,获取的方式是时间ModelDriven接口提供的getModel()方法进行获取。

  

 

posted @ 2017-06-15 10:00  落下树的汪汪狗  阅读(398)  评论(0编辑  收藏  举报