structs2 接受参数的三种方法(转载)

来源:互联网 发布:电脑淘宝怎么开店 编辑:程序博客网 时间:2024/05/24 07:34
struts2中action接收参数的方法2011-03-15 15:19转载自 yangguang_huoyunshen最终编辑 yangguang_huoyunshenStruts2中Action接收参数的方法主要有以下三种:

Struts2中Action接收参数的方法主要有以下三种:
1.使用Action的属性接收参数:
    a.定义:在Action类中定义属性,创建get和set方法;
    b.接收:通过属性接收参数,如:userName;
    c.发送:使用属性名传递参数,如:user1!add?userName=Magci;
2.使用DomainModel接收参数:
    a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法;
    b.接收:通过对象的属性接收参数,如:user.getUserName();
    c.发送:使用对象的属性传递参数,如:user2!add?user.userName=MGC;
3.使用ModelDriven接收参数:
    a.定义:Action实现ModelDriven泛型接口,定义Model类的对象(必须new),通过getModel方法返回该对象;
    b.接收:通过对象的属性接收参数,如:user.getUserName();
    c.发送:直接使用属性名传递参数,如:user2!add?userName=MGC



struts2 Action获取表单传值
1.通过属性驱动式
JSP:
<form action="sys/login.action" method="post">
  <input type="text" name="username">
  <input type="submit" value="submit">
</form>

Action:直接通过get、set方法获取。

public class sysAction extends ActionSupport{
private String username;

public String login() throws Exception {
  System.out.println(username);
  return SUCCESS;
}

public String getUsername() {
  return username;
}
public void setUsername(String username) {
  this.username= username;
}
}

2.模型驱动方式,必须要实现ModelDriven<T>接口。对于要传入多个model第二种方式不方便
JSP:
<form action="sys/login.action" method="post">
  <input type="text" name="username">
  <input type="submit" value="submit">
</form>

Action:必须实现getModel() 方法

public class sysAction extends ActionSupport implements ModelDriven<User>{
private User user;

public String login() throws Exception {
  System.out.println(getModel().getUsername());
  return SUCCESS;
}

public User getModel() {
  if (null == user) {
   return user = new User();
  }
  return user;
}
}

3.第三种方式可以完全不实现ModelDriven<T>,也可使用多个model对象的属性。
JSP:
<form action="sys/login.action" method="post">
  <input type="text" name="user.username">
  <input type="text" name="teacher.level">
  <input type="submit" value="submit">
</form>

Action: 必须提供set方法

public class sysAction extends ActionSupport{
private User user;
private Teacher teacher;

public String login() throws Exception {
  System.out.println(user.getUsername());
  System.out.println(teacher.getLevel());
  return SUCCESS;
}

public void setUser(User user) {
  this.user = user;
}
public void setTeacher(Teacher teacher) {
  this.teacher = teacher;
}
}
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 小孩额头撞肿了怎么办 宝宝撞到额头肿了怎么办 小孩子上一年级语文很差了怎么办? 楼下说小孩太吵怎么办 托班的小孩太吵怎么办 宝宝两岁只会简单的词怎么办 我儿子的视力低怎么办 小孩子课文看书都不会读怎么办 宝宝衣服买小了怎么办 拉拉裤腰围小了怎么办 一周九个月宝宝发烧怎么办 8个月的婴儿37.7怎么办 宝宝发烧37度3怎么办 2岁宝宝发烧37度怎么办 3个月新生儿发烧怎么办 生完孩子肚子松弛怎么办 6个月婴儿高烧怎么办 7个月婴儿高烧怎么办 11个月婴儿高烧怎么办 4个月婴儿高烧怎么办 新生宝宝混合喂养消化不良怎么办 四个月的宝宝不追听不追视怎么办 宝宝母乳换奶粉拉肚子怎么办 奶牛产奶脂肪低怎么办 新生儿混合喂养不喝水怎么办 小孩子咳嗽怎么办有什么偏方 混合喂养宝宝不喝奶粉怎么办 混合喂养宝宝不吃奶粉怎么办 混合喂养宝宝不吃奶瓶怎么办 混合喂养的宝宝不吃奶粉怎么办 三个月的宝宝突然不吃奶粉怎么办 四个月宝宝拉绿屎推拿怎么办 三个月大的宝宝消化不良怎么办 婴儿大便常规正常的腹泻怎么办 宝宝十个月母乳不够吃怎么办 吃药上吐腹泻在3怎么办 房子买了新生儿户口怎么办 吃海鲜拉稀拉水怎么办 吃海鲜腹泻拉水怎么办 两个月宝宝不爱睡觉怎么办 2个月宝宝干呕怎么办