上篇文章写到使用属性接收参数,但是那个不是常用的。域模型才是最常用的。首先还是先看一下对应的Action类:
- package com.mengxiangyue.struts2.user.action;
- import com.mengxiangyue.struts2.user.model.User;
- import com.opensymphony.xwork2.ActionSupport;
- public class UserAction extends ActionSupport {
- private User user;
- public String add() {
- System.out.println("name=" + user.getName());
- System.out.println("age=" + user.getAge());
- return SUCCESS;
- }
- public User getUser() {
- return user;
- }
- public void setUser(User user) {
- this.user = user;
- }
- }
这里使用到了User类,下面给出:
- package com.mengxiangyue.struts2.user.model;
- public class User {
- private String name;
- private int age;
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- }
这个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,这种不是太常用,所以就不介绍了,自己百度去。
Java内容的搬运者,欢迎来踩...