getParameterMap()返回参数需要对应实体类类型,否则收不到----打卡
时间:2022-07-28
本文章向大家介绍getParameterMap()返回参数需要对应实体类类型,否则收不到----打卡,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1.在jsp页面传到controller许多参数,使用getParameterMap()获得
1.1register.jsp页面
<%--
Created by IntelliJ IDEA.
User: 49841
Date: 2020/9/18
Time: 11:49
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>注册页面</title>
</head>
<body>
<form method="post" action="usersController?method=register">
<input type="text" name="uname" placeholder="请输入你的用户名"/>
<input type="text" name="upassword" placeholder="请输入你的密码"/>
<input type="text" name="uemail" placeholder="请输入你的邮箱"/>
<input type="text" name="usex" placeholder="请输入你的性别"/>
<input type="submit" value="提交"/>
</form>
<%-- <span style="color:red">${msg}</span>--%>
</body>
</html>
1.2.controller(Servlet),因为后面还写了BaseController,方法就没写在doget、dopost里面
//注册
public String register(HttpServletRequest request, HttpServletResponse response) throws Exception{
User user = new User();
//得到参数并封装到user,并为其中为null的属性赋值
BeanUtils.populate(user, request.getParameterMap());
user.setUstatus(SysConstant.NOT_ACTIVE);//激活状态为0
user.setUcode(ActiveCodeUtils.getActiveCode());
user.setUrole(SysConstant.CUSTOMER);
//添加进数据库-->邮箱-->(emailActivate)点击激活
int i = userService.register(user);
request.setAttribute("url",userService.getUrl());
//已经激活的状态
if(i>0){
//注册成功
return SysConstant.FORWARD+SysConstant.FLAG+"registerSuccess.jsp";
}else{
//注册失败
request.setAttribute("registerMsg", "注册失败");
return SysConstant.FORWARD+SysConstant.FLAG+"register.jsp";
}
}
1.3User实体类
public class User {
private int uid;
private String uname;
private String upassword;
private String uemail;
private String usex;
private int ustatus;
private String ucode;
private int urole;
@Override
public String toString() {
return "User{" +
"uid=" + uid +
", uname='" + uname + ''' +
", upassword='" + upassword + ''' +
", uemail='" + uemail + ''' +
", usex='" + usex + ''' +
", ustatus=" + ustatus +
", ucode='" + ucode + ''' +
", urole=" + urole +
'}';
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUpassword() {
return upassword;
}
public void setUpassword(String upassword) {
this.upassword = upassword;
}
public String getUemail() {
return uemail;
}
public void setUemail(String uemail) {
this.uemail = uemail;
}
public String getUsex() {
return usex;
}
public void setUsex(String usex) {
this.usex = usex;
}
public int getUstatus() {
return ustatus;
}
public void setUstatus(int ustatus) {
this.ustatus = ustatus;
}
public String getUcode() {
return ucode;
}
public void setUcode(String ucode) {
this.ucode = ucode;
}
public int getUrole() {
return urole;
}
public void setUrole(int urole) {
this.urole = urole;
}
}
2.说明:
&nbus之前图方便,使用getParameterMap()加 BeanUtils.populate(),得到参数就直接封装到user对象里面了,没有使用request.setAttribute(),一个名一个值的这样一个个参数的获取,再new user放进去。
所有采坑了,因为jsp页面input标签里面名称和实体类定义的属性名不一样,所以获取不到值,最后得到了一个空的user对象。呱~
- ASP.NET MVC Controller激活系统详解:IoC的应用[上篇]
- ASP.NET Core的配置(1):读取配置信息
- 权限管理和备份实例
- “协变”、“逆变”与Delegate类型转换
- 如今的人工智能是不是真的已经很聪明了?
- 【Scikit-Learn 中文文档】聚类 - 无监督学习 - 用户指南 | ApacheCN
- Delegate如何进行类型转换?
- 个性化推荐系统(一)---今日头条等的内容划分、分类
- ASP.NET Core的配置(2):配置模型详解
- 如何解决jQuery Validation针对动态添加的表单无法工作的问题?
- 数据结构 链表改进
- 数据结构 栈&队列
- 终端品牌域名过期被拍卖 价值六位数
- TensorFlow 深度学习笔记 TensorFlow实现与优化深度神经网络
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android使用AsyncTask加载图片的操作流程
- nodejs中post请求方式,req.body接值为空如何解决
- Kotlin使用静态变量与静态方法详解
- Android通过代码控制ListView上下滚动的方法
- Android为Tiny4412设备驱动在proc目录下添加一个可读版本信息的文件
- Android Studio 4.1 发布啦
- Spring Boot 2.4 配置文件将加载机制大变化
- 「性能提升」扩展 Spring Cache 支持多级缓存
- OAuth 2.0 单元测试解决方案
- 聊一聊如何搭建高性能网站哪一些事
- Spring Cloud netflix ribbon源码分析
- 抽奖摇号系统随机性算法介绍
- 翻了翻element-ui源码,发现一个很实用的指令clickoutside
- 自研网关:限流功能的开发
- 如果JSP中无法自动提示EL表达式的解决方法(针对普通项目和maven有不同的方法)