Struts2封装获取表单数据方式
一.属性封装
1.创建User实体类`
package cn.entity;public class User {private String username;private String password;@Overridepublic String toString() {return "User{" +"username='" + username + '\'' +", password='" + password + '\'' +'}';}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}
}
2.创建DataDemo2Action类将数据封装到实体类
User user=new User();user.setUsername(username);user.setPassword(password);System.out.println(user);
或者通过以下方式
package cn.data;import cn.entity.User;
import com.opensymphony.xwork2.ActionSupport;/*** 使用属性封装表单数据* @author zhangshuaihao*/
public class DateDemo1Action extends ActionSupport {//1.定义变量//2.变量的名称要和输入项name相同private String username;private String password;public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}//2.生成get和set方法@Overridepublic String execute() throws Exception {System.out.println("username="+username);System.out.println("password="+password);return NONE;}
}
通过structs2内部机制,先获取表单中的name属性值,然后与该类中的属性(username/password)进行匹配,如果匹配成功,则会调用set方法,将其封装到实体类对象中
二、模型驱动
1.创建User实体类
package cn.entity;public class User {private String username;private String password;@Overridepublic String toString() {return "User{" +"username='" + username + '\'' +", password='" + password + '\'' +'}';}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}
}
import cn.entity.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;/*** 使用属模型驱动获取表单数据* 模型驱动能够直接把表单数据封装到实体类对象中去* @author zhangshuaihao*/
public class DateDemo2Action extends ActionSupport implements ModelDriven<User> {//创建对象//创建要求,要求表单输入项中的name属性值和实体类属性名称一致private User user=new User();@Overridepublic String execute() throws Exception {System.out.println(user);return NONE;}@Overridepublic User getModel() {//返回创建的对象return user;}
}
该模型驱动要实现ModelDriven接口,并且实现其中的getModel()方法,可以直接将属性封装到实体类中
三、表达式封装
在这里插入代码片<form action="${pageContext.request.contextPath}/data3.action" method="post">username:<input name="user.username" type="text" id="username"><br>password:<input name="user.password" type="password" id="password"><br><input type="submit" name="Submit" value="提交"></form>
import cn.entity.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;/*** 使用表达式封装数据** @author zhangshuaihao*/
public class DateDemo3Action extends ActionSupport {//1.声明实体类private User user;public User getUser() {return user;}public void setUser(User user) {this.user = user;}@Overridepublic String execute() throws Exception {System.out.println(user);return NONE;}
}
注意input标签中的name属性,使用了user.username的形式,该表达式的执行过程为:首先通过getUser方法获取User对象,然后调用User类中的setUsername方法,将属性封装到实体类User中
注意:属性封装和模型驱动封装不能同时使用,如果同时使用,属性封装中的数据为null,只会调用模型驱动封装,一般来说三种封装方式经常使用模型驱动封装
Struts2封装获取表单数据方式相关推荐
- Action 中获取表单数据的三种方式
(尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/53138905 冷血之心的博客) Action 中获取表单提交数据 ...
- PHP获取表单数据的方法有几种,php怎么获取表单数据
php获取表单数据的几种方法: 一.用file_get_contents以get方式获取内容,需要输入内容为:<?php $url='http://www.domain.com/?para=12 ...
- php yii2自动给值,Yii2基于Ajax自动获取表单数据的方法
本文实例讲述了Yii2基于Ajax自动获取表单数据的方法.分享给大家供大家参考,具体如下: 这里有两张表,表结构如下,locations表存放的省份和邮编等信息,两张表的model和curd均使用gi ...
- ajax获取表单php,Yii2基于Ajax自动获取表单数据的方法
本文实例讲述了Yii2基于Ajax自动获取表单数据的方法.分享给大家供大家参考,具体如下: 这里有两张表,表结构如下,locations表存放的省份和邮编等信息,两张表的model和curd均使用gi ...
- Struct2中三种获取表单数据的方式
1.使用ActionContext类 //1获取ActionContext对象ActionContext context = ActionContext.getContext();//2.调用方法获取 ...
- PHP获取表单数据的方法有几种,如何实现PHP获取表单数据与HTML嵌入PHP脚本
如何实现PHP获取表单数据与HTML嵌入PHP脚本 导语:如何实现PHP获取表单数据与HTML嵌入PHP脚本,下面是小编给大家提供的操作讲解,大家可以参考阅读,更多详情请关注应届毕业生考试网. 常用的 ...
- python获取表单数据的代码_使用flask和python从html表单获取表单数据
我正在尝试在按下submit时从文本字段中获取表单数据,以便将其放入json格式并作为另一个页面访问json数据,该页面将是localhost:5000/info.每次我试图用request.form ...
- Request获取表单数据的四种方法详解
表单代码 <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/html" ...
- struts2 Action获取表单数据
1.通过属性驱动式 1.首先设置 表单中的数据的name值 如:<input type="text" name="username" value=&quo ...
最新文章
- 理解和实现分布式TensorFlow集群完整教程
- 解决.net webservice的WebClient或HttpWebRequest首次连接缓慢问题
- 智能车竞赛第十六届比赛参赛同学提问-环境参数-5月15
- R | 对亚马逊新总部可能位置进行可视化
- jni string 转换
- ar linux 删除模块_Linux基础命令---ar
- cf手游服务器维护19年9月19,神雕侠侣2手游9月19日停服维护公告_神雕侠侣2手游9月19日更新了什么_玩游戏网...
- Little Sub and Game
- Java程序安装失败
- 机器人运维时代已来临?这是真的......
- keycloak集群化的思考
- python package 的两种组织方式
- 开源流媒体云视频平台EasyDarwin中EasyCMS服务是如何进行命令转发和消息路由的
- 30 秒裁剪的很大一部分作用是观察什么对别人是重要的
- Go Module 工程化实践(二):go get 取包原理篇
- 学习matlab(十七)——信号处理
- Layabox 2 使用其它编辑器开发layabox2d
- 《可复制的领导力》学习总结
- WIN下静默安装MSI文件
- 我的大学,被初恋女友甩了!
热门文章
- img title属性值利用#13换行
- 谈点技术吧,6万人在线每秒实时更新的解决方案
- android phpmyadmin,从android studio向phpmyadmin添加数据时出现问题
- bugzilla perl mysql apache windows,windows下apache安装bugzilla
- rz安装 xshell_利用XShell上传、下载文件(使用sz与rz命令)
- 戴尔服务器装新硬盘模式,DELL服务器配置RAID及安装ESXI
- replace into mysql去重_上传 phpexcel 类 入库并入库前去重
- python3.6进度条_Python实现下载界面(带进度条,断点续传,多线程多任务下载等)...
- c语言编程算法模板,C语言编程算法精选.doc
- 【机器学习算法专题(蓄力计划)】八、机器学习中数据的方差分析