接收的参数为日期类型、controller控制层进行数据保存、进行重定向跳转
1.接收的参数为日期类型
WEB-INF下的资源是无法通过地址栏的地址直接访问的,也不能通过重定向直接访问
400错误代表请求的参数有问题
解决接收参数为日期类型出错的问题
第一种方法:使用
initBinds(当你接收的参数为日期类型或时间类型时,先经过该方法的处理)
只要网页中传来的参数格式为yyyy-MM-dd就是转化为Date格式,这种方法适合单个时间日期参数//在controller中添加
@InitBinder
public void initBinder(ServletRequestDataBinder binder) {
binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true));
}
在实体类中添加注解(这里的格式不是输出的格式而是接收参数的格式,输出的格式还是Date类型的英文格式)
... public class Users {
private String name;
private String sex;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date birthday;
private String phone;
...
2.controller控制层进行数据保存
/**
* 通过ModelAndView保存数据
* @return ModelAndView
*/
@RequestMapping("list3.do")
public ModelAndView list3() {
ModelAndView mv = new ModelAndView("index");
mv.addObject("name","张三");
return mv;
}
/**
* 通过Model保存数据到request中
* @param model
* @return String
*/
@RequestMapping("list4.do")
public String list4(Model model) {
model.addAttribute("name","李四");
return "index";
}
/**
* 通过Map保存数据到request中
* @param map
* @return String
*/
@RequestMapping("list5.do")
public String list5(Map<String,Object> map) {
map.put("name", "王五");
return "index";
}
/**
* 通过request保存数据到request中
* @param request
* @return String
*/
@RequestMapping("list6.do")
public String list6(HttpServletRequest request) {
request.setAttribute("name", "刘亦菲");
return "index";
}
/**
* 通过注解的方式将数据保存到session中
* @param model
* @return String
*/
@RequestMapping("list7.do")
public String list7(Model model) {
model.addAttribute("name","江疏影");
return "index";
}
/**
* 通过原始的session保存数据到session中
* @param session
* @return String
*/
@RequestMapping("list8.do")
public String list8(HttpSession session) {
session.setAttribute("name", "林允儿");
return "index";
}
/**
* 将数据保存到application中
* @param session
* @return String
*/
@RequestMapping("list9.do")
public String list9(HttpSession session) {
session.getServletContext().setAttribute("name", "杨超越");
return "index";
}
3.controller层如何进行重定向跳转(因为默认是请求转发)
return "redirect:register.jsp";使用redirect开头,告诉springmvc我要重定向跳转
4.静态资源的映射
首先在web.xml文件设置
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>在springmvc的配置文件中添加
<!-- 释放静态资源 -->
<mvc:default-servlet-handler/>
接收的参数为日期类型、controller控制层进行数据保存、进行重定向跳转的更多相关文章
- Springboot 使用 JSR 303 对 Controller 控制层校验及 Service 服务层 AOP 校验,使用消息资源文件对消息国际化
导包和配置 导入 JSR 303 的包.hibernate valid 的包 <dependency> <groupId>org.hibernate.validator< ...
- springMvc基本注解:@Component、@Repository(持久层) 、@Service(业务逻辑) 、@Controller(控制层)
1.@Controller(控制层) :就是action层 2.@Service(业务逻辑) :业务逻辑层,负责处理各种控制层的操作 3.@Repository(持久层) :称为“持久化”层,负责对数 ...
- springmvc接收参数为日期类型
用单个Date类型接收日期类型时,会出现报错,加上initBinder的方法 意思是将所有传入的参数都通过此方法,如果过是日期通过日期格式化器进行格式化 如果是接收类型为对象内的属性为Date类型时 ...
- 解决sqoop 导入oracle表时 --split-by参数为日期类型时的报错:ORA-01861: literal does not match format string
报错栈: -- ::, INFO [main] org.apache.sqoop.mapreduce.db.DBRecordReader: Executing query: select " ...
- bean 接收的参数为Class类型
这两个是等价的
- Spring Boot的Controller控制层和页面
一.项目实例 1.项目结构 2.项目代码 1).ActionController.Java: package com.example.controller; import java.util.Date ...
- Servlet—作controller控制层
servlet控制器的改造步骤: 1.编写servlet类,和访问路径 2.修改jsp请求路径 servlet参数配置---获取初始化参数 servlet参数配置---全局参数
- spring mvc 注解访问控制器以及接收form数据的方式,包括直接接收日期类型及对象的方法
Spring 中配置扫描器 <!-- springmvc的扫描器--> <context:component-scan base-package="com.beifeng. ...
- Spring MVC控制层的返回类型--String类型与Bean类型
SpringMVC控制层的返回类型形式多样,现拿其中的两种--String类型与Bean类型作以说明. 一.测试项目的结构 说明:(jsp的名字没起好) 控制层:UserController.java ...
随机推荐
- YouZack英语学习网站,英语四六级的福音
YouZack英文网站 YouZack英语网站是,杨中科大佬开发给各位有需要的人使用的一个英语学习网站: 网站分两个模块: 听力模块部分图 听力模块界面 听力模块使用说明界面 背单词模块部分图 背单词 ...
- 5分钟教你在Linux下安装VMware
如果我们只有一台笔记本,又想要搭建一个小集群,怎么办?虚拟机帮你实现梦想,市面上较为常用的虚拟机软件有VMware.VirtualBox.Xen.KVM.hyper-v等,本文主要介绍如何在Linux ...
- eclipse再见,android studio 新手入门教程(二)项目的导入
上一篇博客介绍了AS的一些常用设置方法,当工具调教妥当后,自然就要开始项目的开发啦.从零开始新建一个项目,这个简单,不必多说,这篇博客会分享我从旧平台eclipse导入项目到AS的过程,以及遇到的一些 ...
- Ubuntu Server 16.04.1 LTS 64位 搭建LNMP环境
安装配置 Nginx 为了确保获得最新的 Nginx,先使用sudo apt-get update命令更新源列表.安装 Nginx,输入命令:sudo apt-get install nginx. 启 ...
- Eclipse中,No compiler is provided in this environment. Perhaps you are running on a JRE rather than a
问题说明 Eclipse导入Maven项目后,执行 mvn clean install后,出现如下错误: [INFO] ---------------------------------------- ...
- spring mvc与mybatis事务整合
之前公司用的是mybatis,但事务管理这块是用ejb的CMT容器管理的事务.基本原理是ejb请求进来,业务代码会创建一个mybatis的session然后放入当前线程,之后所有的方法操作涉及到数据库 ...
- Echarts数据可视化,easyshu图表集成。
介绍: ECharts,一个使用 JavaScript 实现的开源可视化库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(IE8/9/10/11,Chrome,Firefox,Sa ...
- 【mysql】- Expalin篇
简介 id:在一个大的查询语句中每个 SELECT 关键字都对应一个唯一的id 与查询优化器有关,假如被优化过,那么可能是上下两个的id都是一样的 select_type:SELECT 关键字对应的那 ...
- [leetcode]242. Valid Anagram判断两个字符串是不是包含相同字符的重排列
/* 思路是判断26个字符在两个字符串中出现的次数是不是都一样,如果一样就返回true. 记住这个方法 */ if (s.length()!=t.length()) return false; int ...
- 数据湖框架选型很纠结?一文了解Apache Hudi核心优势
英文原文:https://hudi.apache.org/blog/hudi-indexing-mechanisms/ Apache Hudi使用索引来定位更删操作所在的文件组.对于Copy-On-W ...