上篇文章写到使用属性接收参数,但是那个不是常用的。域模型才是最常用的。首先还是先看一下对应的Action类:

 

[java] 
 
  1. package com.mengxiangyue.struts2.user.action;  
  2.   
  3. import com.mengxiangyue.struts2.user.model.User;  
  4. import com.opensymphony.xwork2.ActionSupport;  
  5.   
  6. public class UserAction extends ActionSupport {  
  7.   
  8.     private User user;  
  9.   
  10.     public String add() {  
  11.         System.out.println("name=" + user.getName());  
  12.         System.out.println("age=" + user.getAge());  
  13.         return SUCCESS;  
  14.     }  
  15.   
  16.     public User getUser() {  
  17.         return user;  
  18.     }  
  19.   
  20.     public void setUser(User user) {  
  21.         this.user = user;  
  22.     }  
  23.   
  24. }  


         

 

这里使用到了User类,下面给出:

 

[java] view plain copy
 
  1. package com.mengxiangyue.struts2.user.model;  
  2.   
  3. public class User {  
  4.     private String name;  
  5.     private int age;  
  6.     public String getName() {  
  7.         return name;  
  8.     }  
  9.     public void setName(String name) {  
  10.         this.name = name;  
  11.     }  
  12.     public int getAge() {  
  13.         return age;  
  14.     }  
  15.     public void setAge(int age) {  
  16.         this.age = age;  
  17.     }  
  18. }  

这个User类,就是一个javabean。

 

这两个类写好了之后,struts.xml配置好了之后,我们就可以使用下面的方法进行调用了:<a href="user/user!add?user.name=a&user.age=8">。在这里我们可以直接使用user对象+”.”+属性名进行传值。其他的工作struts都会帮助我们完成的。Struts首先会new一个Action对象,然后new一个User对象user,我们在Action中只是声明了此对象,struts会自动帮我们赋值的。然后会调用对应的user的set方法,并且将值赋给它们。这样我们就可以使用了。

         上面的程序运行的时候会在后台答应出来对应的值。

         另外还有一种方法叫ModelDriven,这种不是太常用,所以就不介绍了,自己百度去。

posted on 2016-09-29 10:50  打不倒的XQ  阅读(109)  评论(0编辑  收藏  举报