接收的参数为日期类型、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 ...
随机推荐
- [日常摸鱼]Luogu2521[HAOI2011]防线修建-set维护凸包
https://www.luogu.org/problemnew/show/2521 题意:维护一个上凸包:删点,查询周长 很容易想到把问题转换为离线:先读入全部操作,记录下最后剩下的点,倒着加点来维 ...
- webpack配置css-loader
执行 npm init 命令 生成 package.json 文件 在 webstorm 项目中局部安装 webpack(比如安装3.6.0版本) npm install webpack@3.6.0 ...
- [EF] - Entity Framework 6处理User Defined Function(UDF SQL Server)
随着EF5的发布,新增了对数据库(SQL Server) UDF的支持,具体可以看以下的连接:https://msdn.microsoft.com/en-us/data/hh859577.aspx,新 ...
- GDI+中发生一般性错误 Winform Image.Save(mstream, ImageFormat.Png)引发
在处理图片时,读取本地图像文件,进行另存时发生GDI+中发生一般性错误 . 具体情况如下: 用OpenFileDialog打开图像文件,文件名为filename StreamReader sr = n ...
- git原理学习记录:从基本指令到背后原理,实现一个简单的git
一开始我还担心 git 的原理会不会很难懂,但在阅读了官方文档后我发现其实并不难懂,似乎可以动手实现一个简单的 git,于是就有了下面这篇学习记录. 本文的叙述思路参照了官方文档Book的原理介绍部分 ...
- KafkaProducer 简析
使用方式 KafkaProducer 发送消息主要有以下 3 种方式: Properties properties = new Properties(); properties.setProperty ...
- Lightweight Render Pipeline
(翻译) Lightweight Render Pipeline (LWRP),轻量级渲染管线,是一个Unity预制的Scriptable Render Pipeline (SRP).LWRP可以为移 ...
- 分享知乎关于pull request的分享
作者:知乎用户链接:https://www.zhihu.com/question/21682976/answer/79489643来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- 基于websocket的netty demo
前面2文 基于http的netty demo 基于socket的netty demo 讲了netty在http和socket的使用,下面讲讲netty如何使用websocket websocket是h ...
- cmake - 可执行文件
1.生成可执行文件 add_executable(hello xxx.cpp xxxxx.cpp) ##根据文件xxx.cpp和xxxx.cpp生成可执行文件hello,但是这两个可执行文件如果依赖其 ...