Struts2中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; } }

转载于:https://www.cnblogs.com/sdream/p/5871057.html

Struts2中Action接收参数相关推荐

  1. Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法...

    Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法 www.MyException.Cn   发布于:2012-09-15 ...

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

    Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性(属性驱动)接收参数:(推荐) a.定义:在Action类中定义属性,创建get和set方法: b.接收:通过属性 ...

  3. Struts2中action接受参数方法

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

  4. Struts2中Action的属性接收参数

    Struts2中Action的属性接收参数,有三种传递并接收参数的方式,第一种是在Action添加成员属性接收参数,第二种是域模型,就是利用对象域来进行传递和接收参数,第三种是ModelDriven接 ...

  5. Struts2→MCV、环境搭建第一个样例、工作原理、核心文件、XML中常用元素、通配符、action后缀、action接收参数、result、标签

    官网 https://struts.apache.org/ 历史包 https://people.apache.org/builds/struts/ MVC 环境搭建第一个样例 工作原理 核心文件 配 ...

  6. Struts2学习---基本配置,action,动态方法调用,action接收参数

    首先我们先来直接配置,然后再来讲原理:  第一步:jar包的引入:  我们可以到struts2的官网上下载:  http://struts.apache.org/download.cgi#struts ...

  7. java登录中用户类型分类_基于用户登陆的struts2中action的分类详解

    在struts2中action的分类有:继承 ActionSupport 实现 Action,模型驱动(ModelDriven)的 Action,多方法的 Action三种方式. 1.继承 Actio ...

  8. Struts2中Action的搜素顺序

    当我们在struts.xml中配置action的时候,设置了package的namepace,但浏览器打开的路径与其不相同也能运行action. 比如:我们的创建一个struts2项目,项目名为:st ...

  9. Struts2之Action接收请求参数和拦截器

    技术分析之在Struts2框架中使用Servlet的API          1. 在Action类中也可以获取到Servlet一些常用的API         * 需求:提供JSP的表单页面的数据, ...

最新文章

  1. 全能Android HOOK框架 JNI NATIVE JAVA ART DALVIK
  2. MyBatis Plus——分页插件【PaginationInnerInterceptor】
  3. 设计模式C++实现(3)——装饰模式
  4. ROS环境下跑orb-slam2 单目相机
  5. 正态分布的前世今生(1)
  6. 技术选型:Sentinel vs Hystrix
  7. 云图说|读请求太多怎么办?一键读写分离来帮忙
  8. tomcat给android发图片,一步一步学会http获取tomcat服务端的图片,在android客户端显示...
  9. RN 0.26 引用方式中哪些属于React,哪些属于React Native
  10. 软件测试学习书籍8本【经典推荐】
  11. Python实现统一社会信用代码合法性校验
  12. Microsoft 365 - Teams会议时如何开启美颜功能
  13. 无线通信基础知识12:数字通信之信源编码
  14. 【Tools】macOS 截图工具推荐xnip(滚动截图截长图、步骤截图)
  15. 「集成架构」ETL工具大比拼:Talend vs Pentaho
  16. ASP.NET Core MVC中的viewmodel
  17. Xcode中mark标注使用方法
  18. 2014年托福考试共计全国38场考试
  19. 2020-09-08
  20. 网络-IP地址(嵌入式学习)

热门文章

  1. 数据结构(01)— 算法复杂度概念及常见的复杂度计算
  2. Go 知识点(08) — 对未初始化的 channel 进行读写操作
  3. 3分钟4 步快速带你在win10电脑装上openCV3.4 (python使用)
  4. 残差复合正态分布的重要性
  5. Beam Search
  6. LeetCode简单题之较大分组的位置
  7. LeetCode简单题之判断国际象棋棋盘中一个格子的颜色
  8. 最新Spring整合MyBatis详解教程
  9. TVM 图优化Graph Optimization
  10. 机器学习PAI产品架构