首页 > 代码库 > struts2学习笔记之五:表单数据收集的几种方式
struts2学习笔记之五:表单数据收集的几种方式
方法一:struts2对ModelDriven模式的支持(模型驱动模式)
Struts2可以采用类似于Struts1中的ActionForm方式收集数据,这样方式叫ModelDriven模式
Action需要实现ModelDriven接口,实现getModel()方法,返回Bean对象,这样struts2会通过getModel()方法拿到对象,使用set方法把数据填充到对象中
创建User类(Bean对象,包含geter方法和seter方法的纯java类)
User类
package com.djoker.struts2; 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; } }
LoginAction类
package com.djoker.struts2; import com.opensymphony.xwork2.ModelDriven; public class LoginAction implements ModelDriven<User>{ private User user = new User(); public String execute() throws Exception { if("admin".equals(user.getUsername()) && "admin".equals(user.getPassword())){ return "success"; } return "error"; } @Override public User getModel() { return user; } }
方法二:在表单域中直接对对象进行赋值(该方法必须把对象分离到单个类中,类似ModelDriven模型驱动模式)
不需要实现ModelDriven接口,是直接操作对象的get和set方法,所以需要提供该对象的set和get方法
Action类
package com.djoker.struts2; public class LoginAction{ private User user; public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String execute() throws Exception { if("admin".equals(user.getUsername()) && "admin".equals(user.getPassword())){ return "success"; } return "error"; } }
jsp页面中的form表单书写方式
<form action="login.action" method="post"> 用户名:<input type="text" name="user.username"><br> 密 码:<input type="password" name="user.password"><br> <input type="submit" value="http://www.mamicode.com/登录"> </form>
struts2学习笔记之五:表单数据收集的几种方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。