实现自动将Map转换成对象,借助第三方工具commons-beanutils-1.8.0.jar+commons-logging.jar实现,需要遵守的规则创建的对象的属性名必须与map的key相同。

下载jar包
https://download.csdn.net/download/z1941563559/10454502

举例:

register.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><!-- 这里直接写虚拟目录 --><form action="req2" method="post">用户名:<input type="text" name="user"><br/>密码:<input type="password" name="pwd"><br/>性别:<input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女<br/>爱好:<input type="checkbox" name="hobby" value="hobby1">hobby1 <input type="checkbox" name="hobby" value="hobby2">hobby2 <input type="checkbox" name="hobby" value="hobby3">hobby3<br/> 地区:<select name="area"><option value="中国大陆">中国大陆</option><option value="中国香港">中国香港</option><option value="中国台湾">中国台湾</option></select><br/><input type="submit" value="提交"></form>
</body>
</html>

User.java

package com.persist.entity;import java.util.Arrays;public class User {//名字要能体现表单的功能private String user;//名字与标签名字一致private String pwd;private String sex;private String[] hobby;//hobby是多选框,所以这里学成字符串数组private String area;public User() {}public User(String user, String pwd, String sex, String[] hobby, String area) {super();this.user = user;this.pwd = pwd;this.sex = sex;this.hobby = hobby;this.area = area;}public String getUser() {return user;}public void setUser(String user) {this.user = user;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String[] getHobby() {return hobby;}public void setHobby(String[] hobby) {this.hobby = hobby;}public String getArea() {return area;}public void setArea(String area) {this.area = area;}@Overridepublic String toString() {return "User [user=" + user + ", pwd=" + pwd + ", sex=" + sex + ", hobby=" + Arrays.toString(hobby) + ", area="+ area + "]";}}

真实使用

package com.persist.request;import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Enumeration;
import java.util.Map;import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.beanutils.BeanUtils;import com.persist.entity.User;/*** Servlet implementation class RequestDemo2*/
@WebServlet(name = "req2", urlPatterns = { "/req2" })
public class RequestDemo2 extends HttpServlet {private static final long serialVersionUID = 1L;public RequestDemo2() {super();}protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//让客户端与服务器保持一致response.setContentType("text/html;charset=utf-8");//客户端告诉服务器端我的编码格式---解决post下的中文乱码,tomcat7及以下request.setCharacterEncoding("utf-8");//       * getParameterMap()Map<String, String[]> parameterMap = request.getParameterMap();//第三方jar包把Map转换成模型commons-beanutils-1.8.0.jar,commons-logging.jar//注意:模型的属性名字与表单标签的名字一致User user = new User();try {BeanUtils.populate(user, parameterMap);} catch (IllegalAccessException | InvocationTargetException e) {e.printStackTrace();}}protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}

自动将Map转换成对象的方法相关推荐

  1. MapStruct Map 转换成对象

    背景 调用公司影像识别服务接口,返回值都是 Map<String,Object>类型,有的key很多.想把这种 map 结果转为项目中对应的JavaBean如DTO 或者 VO,又不想写很 ...

  2. java web 的map_javaweb开发过程中小工具系列之将Map转换成对象

    在javaweb项目的开发过程中,经常遇到要将一个Map集合转换成一个javabean对象,比如说将页面提交的数据封装到一个javabean中. 此小工具需要两个jar包 1:commons-bean ...

  3. java 把map转换成json_map转换成JSON的3种方法

    1 json-lib net.sf.json-lib json-lib 2.4 jdk15 import java.util.HashMap; import java.util.Map; import ...

  4. android 获取drawable 对象,Android 实现将本地资源图片转换成Drawable的方法

    Android 实现将本地资源图片转换成Drawable的方法 发布时间:2020-11-06 16:37:09 来源:亿速云 阅读:255 作者:Leah 这篇文章将为大家详细讲解有关Android ...

  5. php把对象转换成数组,php对象转换成数组的方法

    php对象转换成数组的方法 发布时间:2020-05-20 14:13:07 来源:亿速云 阅读:108 作者:鸽子 php对象转数组方法 在php中将对象转数组的方法,可以通过使用"get ...

  6. php把数组转换成对象,php怎么将数组转换成对象

    echoecho() 函数输出一个或多个字符串.注释:echo() 函数实际不是一个函数,所以您不必对它使用括号.然而,如果您想要传多于一个参数给 echo(),使用括号将会生成解析错误.print ...

  7. 将类数组转换成数组的方法

    类数组的概念: 类数组(ArrayLike)是指:和"数组"类似,有length属性,并且可以通过下标进行访问内部的元素且在写法上跟数组一样,但是不能直接使用数组方法.比如argu ...

  8. java中把map转换成list

    private String key;     private String value;          //把map转换成list的公共方法     public static List map ...

  9. Byte数组转换成string 的方法积累

    .net的加密算法,返回的都是byte[] 类型,在存贮起来让人非常头疼,最简单的方法就是把byte[]转换成string来存贮,当然如果数据量大的话,另当别论. 所以我就把byte[]转换成stri ...

最新文章

  1. JVM之Java类加载器
  2. MATLAB应用实战系列( 七十五) -图像处理应用 MATLAB实现基于分水岭算法的图像分割 (附matlab代码)
  3. Magento 2数据库EAV模型结构
  4. laravel5单元测试
  5. 每周荐书:机器学习、Java虚拟机、微信开发(评论送书)
  6. 数字图像处理笔记——Snakes算法、活动轮廓以及水平集(Snakes, active contours, and level sets)
  7. 一个440MHz的 VGA电路设计与仿真
  8. oracle函数创建及调用
  9. 2021-2027全球及中国结构光源三维扫描仪行业研究及十四五规划分析报告
  10. 斯坦福大学自然语言处理第四课“语言模型(Language Modeling)”
  11. Cadence学习笔记-第二章-瞬态仿真
  12. 【极致通话降噪】高通QCC3071 三麦克风通话降噪方案
  13. 使用AD中的自带的元件库问题处理
  14. win10新建虚拟机网络配置未连接服务器,win10虚拟主机怎么联网(win10虚拟机连不上网)...
  15. centos8显示网络连接激活失败
  16. Python编程-使用爬虫程序爬取肺炎疫情数据-1 爬取给定国家的历史疫情信息
  17. python接口测试+ununittest之verbosity
  18. IOT跨平台组件设计方案
  19. 四足机器人运动运动控制系统及相关算法、导航系统及相关算法本人硕毕论文发表后再更
  20. MIT cheetah make时 error: ‘ioctl’ was not declared in this scope

热门文章

  1. 环洋市场咨询:全球自动光学检测设备(AOI)收入预计2028年达到40.27亿美元
  2. 中兴新支点linux下安装wine方法,中兴新支点安装dockqq和dockwechat
  3. Unity--Floyd画出最短的路径
  4. 《Photoshop Lightroom5经典教程》—第1课1.5节修改和编辑
  5. Tomcat启动不成功提示:windows不能在本地计算机启动Apache Tomcat
  6. 目标检测 - 基于 SSD: Single Shot MultiBox Detector 的人体上下半身检测
  7. 国内EDA软件公司有哪些?
  8. 下载到的电子书格式是epub,这种格式能否在IOS手机上打开?
  9. STM32使用CJSON获取心知天气
  10. 公益宣传片制作的难点