Struts2中Action接收參数的方法主要有下面三种:

1.使用Action的属性接收參数:(通过属性驱动式)

    a.定义:在Action类中定义属性,创建get和set方法。

    b.接收:通过属性接收參数,如:userName。

    c.发送:使用属性名传递參数,如:user1!add?userName=Magci;

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接收參数:(模型驱动方式,必需要实现ModelDriven<T>接口。对于要传入多个model另外一种方式不方便)

    a.定义:Action实现ModelDriven泛型接口,定义Model类的对象(必须new)。通过getModel方法返回该对象;

    b.接收:通过对象的属性接收參数,如:user.getUserName()。

    c.发送:直接使用属性名传递參数,如:user2!add?

userName=MGC

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.使用DomainModel接收參数:(第三种领域模型方式能够全然不实现ModelDriven<T>,也可使用多个model对象的属性。)

    a.定义:定义Model类,在Action中定义Model类的对象(不须要new),创建该对象的get和set方法。

    b.接收:通过对象的属性接收參数,如:user.getUserName();

    c.发送:使用对象的属性传递參数。如:user2!add?user.userName=MGC;

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;

 }

}

Struts2中Action自己主动接收參数的更多相关文章

  1. 参数对象Struts2中Action的属性接收参数

    题记:写这篇博客要主是加深自己对参数对象的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢. Action中三种传递并接受参数: 1.  在Action添加成员属性接受参数 例如请求的 ...

  2. struts2中action手动获取參数

    struts2中action手动获取Session,jsp页面參数 1. ActionContext 在Struts2开发中,除了将请求參数自己主动设置到Action的字段中,我们往往也须要在Acti ...

  3. Struts2中Action接收参数的方法

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt112 Struts2中Action接收参数的方法主要有以下三种: 1.使用A ...

  4. Struts2中Action接收参数的方法主要有以下三种:

    Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数(最原始的方式):     a.定义:在Action类中定义属性,创建get和set方法:     b.接 ...

  5. Struts2中Action接收参数

    Struts2中Action接收参数的方法主要有以下三种: Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:     a.定义:在Action类中定义属 ...

  6. 自己定义struts2中action类型转换器

    DateAction.java中代码例如以下: package com.itheima.action; import java.util.Date; public class DateAction { ...

  7. Struts中Action三种接收参数的方式?

    前言: 前面已经有一篇随笔介绍了Struts2的大概原理.本文就Struts2中Action与jsp页面进行数据对接时介绍几种常见方法! 值栈ValueStack 3个Action Action1 p ...

  8. Struts2中Action取得表单数据的几种方法

    Struts2中Action取得表单数据的几种方法   Struts2中Action获得表单数据的几种方法struts2 Action获取表单传值 1.通过属性驱动式JSP: <form act ...

  9. 关于struts2中action请求会执行两次的问题

    关于struts2中action请求会执行两次的问题     在struts2中发现,调用action中的方法,方法会被执行两次,后来发现调用的方法是get开头的,把它改为其他名称开头的后,就不会执行 ...

随机推荐

  1. mybatis经验

  2. bzoj3609【HEOI2014】人人尽说江南好

    题意:http://www.lydsy.com/JudgeOnline/problem.php?id=3609 sol :博弈论  通过打表找规律,发现答案是%m循环的,且当m为偶数时取反  因为我太 ...

  3. 2017-2018-2 20179204《网络攻防实践》第十一周学习总结 SQL注入攻击与实践

    第1节 研究缓冲区溢出的原理,至少针对两种数据库进行差异化研究 1.1 原理 在计算机内部,输入数据通常被存放在一个临时空间内,这个临时存放的空间就被称为缓冲区,缓冲区的长度事先已经被程序或者操作系统 ...

  4. [bzoj 3048] [Usaco2013 Jan]Cow Lineup

    [bzoj 3048] [Usaco2013 Jan]Cow Lineup Description 给你一个长度为n(1<=n<=100,000)的自然数数列,其中每一个数都小于等于10亿 ...

  5. Codevs 1159 最大全0子矩阵 悬线法!!!!

    1159 最大全0子矩阵 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 在一个0,1方阵中找出其中最大的全0子矩阵,所谓最大是指O ...

  6. URL重写IIS7(URL Rewrite Module) 比之前的urlrewrite更方便使用

    原文发布时间为:2011-02-24 -- 来源于本人的百度文章 [由搬家工具导入] 微软在IIS7中添加了URL的重写模块,并且免费使用,可以导入.htaccess规则,确实是个不错的选择 URL ...

  7. 【Reship】use of tangible T4 template engine

    1.first of all 之前在 “使用T4模板生成代码 – 初探” 文章简单的使用了T4模板的生成功能,但对于一个模板生成多个实例文件,如何实现这个方式呢?无意发现一个解决方案 “Multipl ...

  8. bzoj 1228 [SDOI2009]E&D SG函数打表 找规律

    题目链接 Description 桌子上有2n 堆石子,编号为1..2n.将第2k-1 堆与第2k 堆(1 ≤ k ≤ n)为同一组.第i堆的石子个数用一个正整数Si表示.一次分割操作指的是,从桌子上 ...

  9. AC日记——[SCOI2007]蜥蜴 bzoj 1066

    1066 思路: 网络流最大流: 拆点,每个点拆成两个,流量为这个点的高度: 注意,文中说的距离是曼哈顿距离(劳资以为开根号wa了不知道多少次): 每两个距离不大于d的点连边,流量inf: 如果距离能 ...

  10. HDU 1241.Oil Deposits-求连通块DFS or BFS

    Oil Deposits Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...