Struts核心业务之请求数据的自动封装
来源:互联网 发布:借钱软件 编辑:程序博客网 时间:2024/05/18 22:40
请求数据的自动封装
三种方法:
1.OGNL方式
2.拦截器params
3.action实现ModelDriven<T>接口
方法一:1.OGNL方式
1.创建数据实体类
public class User { private String userName; private String passWord; public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;} public String getPassWord(){return passWord;}public void setPassWord(String passWord) {this.passWord = passWord;} }2.创建Action类进行数据的读取
import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport { private User user; //get()和set()方法不能偷懒得都写上,不然会出现获取不到信息的尴尬局面~切记 public void setUser(User user) {this.user = user;} public User getUser() {return user; } public String login() { System.out.println("用户名"+user.getUserName()); System.out.println("密码"+user.getPassWord()); return "login";}}3.登录界面,进行数据的输入
<body> <form action="${pageContext.request.contextPath}/login" name="frmlogin" method="post"> 用户名:<input type="text" name="user.userName"/><br> 密 码:<input type="text" name="user.passWord"/><br> <input type="submit" value="提交"><br> </form> </body>
运行结果:
小贴士:我们通过user.userName这种方式获取值其实就是使用了ognl表达式,
就是往根(root,值栈valueStack)中存放值,而值栈中的栈顶元素也就是为当前action,我们在action中设置user的get、set属性,即可以让存进来的值匹配到,进而将对应属性赋值成功。
方法二:拦截器params
1.当我们直接在action中封装实体的时候,我们可以直接获取值,不用通过bean对象
import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport { private String userName; private String passWord; public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;} public String getPassWord(){return passWord;}public void setPassWord(String passWord) {this.passWord = passWord;} public String login() { System.out.println("用户名"+userName); System.out.println("密码"+passWord); return "login";}}2.登录界面name属性值必须和实体属性值一致
<body> <form action="${pageContext.request.contextPath}/login" name="frmlogin" method="post"> 用户名:<input type="text" name="userName"/><br> 密码:<input type="text" name="passWord"/><br> <input type="submit" value="提交"><br> </form> </body>
运行结果:
小贴士:我们之所以能够直接获取,是因为拦截器params自动帮我们拦截匹配了
方法三:action实现ModelDriven<T>接口
1.同样的我们需要一个实体类user
public class User { private String userName; private String passWord; public String getUserName() {return userName;}public void setUserName(String userName) {this.userName = userName;} public String getPassWord(){return passWord;}public void setPassWord(String passWord) {this.passWord = passWord;} }2.创建一个活动类同时实现ModelDriven<T>接口
import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;public class MyDateTest extends ActionSupport implements ModelDriven<User>{private User user=new User();public User getModel() { //必须重写getModel方法,并且将实体对象作为返回值return user; } public String login(){ System.out.println("用户名:"+user.getUserName()); System.out.println("密码:"+user.getPassWord()); return "success"; }}3.登录界面进行数据提交
<body> <form action="${pageContext.request.contextPath}/login" name="frmlogin" method="post"> 用户名:<input type="text" name="userName"/><br> 密码:<input type="text" name="passWord"/><br> <input type="submit" value="提交"><br> </form> </body>运行结果:
阅读全文
0 0
- Struts核心业务之请求数据的自动封装
- SSH框架之Struts的请求数据自动封装
- Struts请求数据的自动封装以及类型转换
- struts1自动封装用户的请求数据
- 关于Struts请求数据自动封装以及类型转换(封装异常)
- struts 数据自动封装表单的三种方式
- struts封装请求、类型转换、数据验证
- Struts中的模型主要指的就是javabean,它是模型的代表,主要封装数据和业务逻辑。
- HttpClient请求数据的封装
- 请求数据的封装类
- struts-基础内容-6-数据的自动封装和类型转换
- struts2的封装数据核心机制
- struts2请求数据自动封装和类型转换
- Struts2请求数据自动封装和数据类型转换
- 证券公司的核心业务
- struts封装表单数据
- struts封装表单数据
- struts封装表单数据
- JavaWeb之tomcat安装、配置与使用(一)
- 第3章 Opencv图像处理进阶-【第一部分 图像处理C】(imgproc组件、feature2D组件)
- linux下导入、导出mysql数据库命令
- ERROR 1396 (HY000): Operation CREATE USER failed for 'Raikon'@'localhost' 处理
- 周志华《Machine Learning》学习笔记(14)--计算学习理论
- Struts核心业务之请求数据的自动封装
- MAMP 数据库文件的位置
- 解决微信授权回调页面域名只能设置一个的问题 [php]
- 图的两种存储结构及其互相转换
- tiny4412内核自带led驱动分析
- 程序是如何执行的(二)控制结构的执行
- 原始套接口的ping命令编程
- 命令模式
- 摩尔定律还有效吗?