博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2中Action接收参数的方法
阅读量:4660 次
发布时间:2019-06-09

本文共 2102 字,大约阅读时间需要 7 分钟。

详见:

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/grefr/p/6095054.html

你可能感兴趣的文章
ServletInputStream的重复读取(多次读取)(转)
查看>>
创建文件流读取文件中的字符串
查看>>
微信小程序-基础内容组件
查看>>
codevs 1497 取余运算
查看>>
java 的访问权限控制
查看>>
MongoDB.Driver 2.4以上版本 在.NET中的基本操作
查看>>
POJ 3047 Fibonacci
查看>>
Django 模板
查看>>
GPUImage
查看>>
centos7-默认启动方式改变
查看>>
STL学习笔记(七) 程序中使用STL
查看>>
ASP.NET中的几种弹出框提示基本实现方法
查看>>
大话多线程,轻松搞定多线程
查看>>
打印杨辉三角形的前10行。
查看>>
泊松过程(一)
查看>>
NOIP2018提高组模拟题(五)
查看>>
Jmeter中主要管理器功用
查看>>
python之路_rest-framework之版本、解析器、序列化
查看>>
美工没时间给图,简单的图让我们自己写,哭啊! 所以具体研究了一下shape的使用,保存下...
查看>>
js 事件监听,执行某操作
查看>>