springMVC数据相关
Posted boxmonster
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springMVC数据相关相关的知识,希望对你有一定的参考价值。
1.接收的参数是日期类型
2.controller进行数据保存
3.controller进行重定向跳转
4.静态资源的映射关系
5.springMVC完成ajax功能
一、接收参数是日期类型
细节补充:WEB-INF下的资源无法直接访问,也无法重定向访问
如果按照常规接收日期==>status40(请求参数问题) 方法一:接收独立的参数,使用initBinder注解,在Cotroller中添加下述方法 @InitBinder //org.springframework.web.bind.annotation.InitBinder public void test(ServletRequestDataBinder binder) //只要网页中传来的数据为预设的格式,就会转化为Date类型 binder.registerCustomEditor(Date.class,new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"),true)); 方法二:实体类中加注解 public class User private String name; private String sex; private int age; @DateTimeFormat(pattern="yyyy-MM-dd hh:mm:ss") //不是输出的结果格式,而是符合要求的参数接收格式 private Date birthday;
二、数据保存
1.三种方式作用域都是request,$requestScope.key 方式一:保存在ModelAndView中 @RequestMapping("setInfo") public ModelAndView setInfo(String name) ModelAndView mv=new ModelAndView(); mv.setViewName("login"); mv.addObject("user","user"); return mv; 方式二:保存在Model对象中 @RequestMapping("setInfo") public String setInfo(Model model) model.addAttribut("name","大兵"); return "login"; 方式三:保存在map中 @RequestMapping("setInfo") public String setInfo(Map<String, Object> map) map.put("name","大兵"); return "login"; 方式四:使用原始的HttpServletRequest @RequestMapping("setInfo") public String setInfo(HttpServletRequest request) request.setAttribute("name","大兵"); return "login"; 2.使用session对象存储数据 方式一:原始的HttpSession @RequestMapping("setInfo") public String setInfo(HttpSession session) session.setAttribute("name","大兵"); return "login"; 方式二:注解方式==>类上加上注解:@SessionAttributes @Controller @RequestMapping("user") @SessionAttributes(names="name","sex") public class UserController @RequestMapping("setInfo") public String setInfo(Model model) model.addAttribut("name","大兵"); model.addAttribut("sex","男"); return "login"; //names=key1,key2 //types=User.class==>将model中所有类型为User的属性添加到会话中 //types=User.class, Dept.class==>将model中所有类型为User和Dept的属性添加到会话中 //value="user1","user2"==>将model中属性名为user1和user2的属性添加到会话中 3.利用session获取application对象并把数据存储到application中(服务器没停止,数据有效) @RequestMapping("setInfo") public String setInfo(HttpSession session) ServletContext servletContext = session.getServletContext(); //得到application对象 servletContext.setAttribute("name","我在application中"); return "login";
三、Controller进行重定向跳转
@RequestMapping("setInfo") public void setInfo() return "login"; //默认为请求转发到login.jsp页面 // return "redirect:login.jsp"; //重定向,此时不再经过视图解析器,也可以是到其他Controller方法
四、静态资源的映射关系
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<!--拦截所有的请求(要注意静态资源的,如jpg,css,js,jquery,需要在springMVC配置文件中添加<mvc:default-servlet-handler/>)-->
<url-pattern>/</url-pattern>
</servlet-mapping>
以上是关于springMVC数据相关的主要内容,如果未能解决你的问题,请参考以下文章
SpringMVC之application-context.xml,了解数据库相关配置