Struts2接收参数的方法有3种分别是:
来源:互联网 发布:西雅图华盛顿大学 知乎 编辑:程序博客网 时间:2024/04/30 17:53
Struts2接收参数的方法有3种分别是:
1.用Action的属性接收参数
2.用DomainModel接收参数
3.用ModelDriven接收参数
一:用Action的属性接收参数的例子如下:
UI页面代码如下:
<body>
使用action属性接收参数<a href="user/user!add?name=credo&age=25">添加用户</a>
</body>
Action代码如下:
package org.credo.struts2.user.action;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport { private String name; private int age; public String add() { System.out.println("name=" + name); System.out.println("age=" + age); return SUCCESS; } 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; }}
在相应的action中设置与将要传进来的参数名相同的变量
eg: 前台传给后台两个参数 name=chance & age = 1,那么后台的action中 要设定这样的变量:private String name; private int age;同时,必须设置set,和 get方法
那么在访问action过程中,struts会自动的为action中的这两个变量设置前台传来的值
(深度解析:
实际上,当前台想后台的一个action发出请求的时候,struts会相应的new出来一个action对象,并调用action中的setXXX方法,注意其实action中设置的变量名 可以不和前台传来参数名向同,但setXXX,这个XXX必须与前台的参数名相同
就这样 struts通过这个set方法将前台传来的值赋给了 action中的变量
)
可以看到,在action种定义了name和age,并且get和set.
那么就可以直接进行传参,?name=credo&age=25
在action种将获取到这些值.
二.用DomainModel接收参数例子如下:
DomainModel是指域模型,就是model.最常用的一种.
UI代码:
使用Domain Model接收参数<a href="user/user!add?user.name=credo&user.age=25">添加用户</a>
Action代码:
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; }} DoMainModel代码: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; }}
像上面这样就是使用dimainmodel来接收参数.
如果说User只有name,age,但是页面有额外的其他参数,如sex等.
可以使用一个VO来接收参数.
public class UserVO {
private String name;
private String password;
private String confirmingPassword;
// geter and seter methods
}
这里的dimainmodel就是为了公用吧.VO针对点.
三.用ModelDriven接收参数,不常用
模型驱动这种方法并不常用.
UI代码:
<body>
使用ModelDriven接收参数<a href="user/user!add?name=credo&age=25">添加用户</a>
Action代码:
注意:实现了ModelDriven.<User>,并且需要new一个User.
public class UserAction extends ActionSupport implements ModelDriven < User > { private User user = new User(); public String add() { System.out.println("name=" + user.getName()); System.out.println("age=" + user.getAge()); return SUCCESS; } @Override public User getModel() { return user; }}Model->User.java代码: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; }}
实现了ModelDriven.<User>,进入action,将给新new出的User的name和age进行自动赋值.这种方法不常用.
- Struts2接收参数的方法有3种分别是:
- struts2接收前台传来的参数有3种方法
- struts2接收参数的3种方法
- struts2中的Action接收表单传递过来的参数有3种方法
- struts2中的Action接收表单传递过来的参数有3种方法
- struts2中的Action接收表单传递过来的参数有3种方法
- struts2中的Action接收表单传递过来的参数有3种方法
- Struts2接收参数的几种方法
- struts2中action接收参数的3种方法
- struts2中action接收参数的3种方法
- struts2中action接收参数的3种方法
- struts2接收参数的方法
- struts2接收参数的方法
- Struts2中Action接收参数的方法主要有以下三种
- Struts2中Action接收参数的方法主要有以下三种:
- Struts2中Action接收参数的方法主要有以下三种:
- Struts2的参数接收的四种方法
- Struts2 学习笔记07 接收参数的三种方法
- 802.11n 技术简结
- POJ 1226 Substrings (后缀数组)
- java 获取公网(外网IP)很实用!
- vb 遍历frame内的控件
- 随想
- Struts2接收参数的方法有3种分别是:
- 项目中的Activity统一管理 方便完全退出程序
- Android 自动化测试—robotium(七)Ant 构建脚本
- 关于安装Android SDK相关问题整理
- 如果可以需尽量避免人口出游高峰期出游
- Android发送邮件,并弹出邮箱类应用供选择
- 雾山的Robotium学习笔记---Ant 构建脚本
- 系统总线
- 可poll的message queue的实现