Struts2 数据封装机制
来源:互联网 发布:mac 文件夹隐藏与显示 编辑:程序博客网 时间:2024/06/10 00:14
传统数据封装
使用servlet接受请求,从HttpServletRequest对象中获取提交的数据,封装成一个实体类的对象
属性驱动
数据自动获取
实例
action.LoginAction.java
package action;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport{private String username;private String password;@Overridepublic String execute() throws Exception {System.out.println(username);System.out.println(password);return "success";}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;}}
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> </head> <body><form method="post"action="<%=path %>/LoginAction.action">name:<input type="text" name="username">password:<input type="password" name="password"><button type="submit">submit</button></form> </body></html>
welcome.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> </head> <body> welcome<br> </body></html>
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts><package name="login" extends="struts-default"><action name="LoginAction" class="action.LoginAction"><result name="success">/welcome.jsp</result></action></package></struts>
模型驱动
自动封装
bean.User.java
package bean;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;}}
action.MLoginAction.java
package action;import bean.User;import com.opensymphony.xwork2.ActionSupport;import com.opensymphony.xwork2.ModelDriven;public class MLoginAction extends ActionSupport implements ModelDriven<User>{private User user=new User();@Overridepublic String execute() throws Exception {System.out.println(user.getUsername());System.out.println(user.getPassword());return "success";}@Overridepublic User getModel() {return user;}}
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts><package name="user" extends="struts-default"><action name="loginAction" class="action.MLoginAction"><result name="success">/welcome.jsp</result><interceptor-ref name="modelDriven"></interceptor-ref><interceptor-ref name="defaultStack"></interceptor-ref></action></package></struts>
struts2 标签引入
SLoginAction.java
package action;import bean.User;import com.opensymphony.xwork2.ActionSupport;public class SLoginAction extends ActionSupport {private User user;@Overridepublic String execute() throws Exception {System.out.println(user.getUsername());System.out.println(user.getPassword());return "success";}public User getUser() {return user;}public void setUser(User user) {this.user = user;}}
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf8"%><%@ taglib prefix="s" uri="/struts-tags" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> </head> <body> <s:form method="post" namespace="/useLogin" action="SLoginAction"> username:<s:textfield name="user.username" /> password:<s:password name="user.password" /> <s:submit value="submit"/> </s:form> </body></html>
struts.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts><constant name="struts.ui.theme" value="simple"></constant><constant name="struts.ui.templateDir" value="template"></constant><constant name="struts.ui.templateSuffix" value="ftl"></constant><package name="user" extends="struts-default"><action name="loginAction" class="action.MLoginAction"><result name="success">/welcome.jsp</result><interceptor-ref name="modelDriven"></interceptor-ref><interceptor-ref name="defaultStack"></interceptor-ref></action><action name="SLoginAction" class="action.SLoginAction"><result name="success">/welcome.jsp</result></action></package></struts>
0 0
- Struts2数据封装机制
- Struts2 数据封装机制
- Struts2 数据封装机制
- Struts2数据封装机制
- Struts2中数据封装机制
- Struts2学习(二)数据封装机制
- struts2的封装数据核心机制
- 利用反射模拟Struts2数据封装机制
- Struts2总结---数据封装机制 (10)
- Struts2封装数据核心机制 Struts2-3mode
- struts2学习04——数据封装核心机制
- Struts2数据封装
- Struts2数据的封装
- Struts2数据封装
- Struts2数据封装
- Struts2之数据封装
- Struts2数据封装
- Struts2数据验证机制
- 数据结构总结(2)
- 1011 World Cup Betting
- 蓝桥杯:地址转换
- 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)
- eclipse 和android studio 导入github项目
- Struts2 数据封装机制
- patch bonding: don't use stale speed and duplex information解释
- invalid project specified
- **meaven+springmvc 开发**
- Android学习-四大组件(Service)
- ContentProvider是如何实现数据共享的。
- 工作中常用工具
- 不读书、不吃苦,你要青春干嘛
- Android-->反编译初探(mac环境配置)