迟到的总结(三)--springmvc的系统学习之数据的处理,乱码及restful

来源:互联网 发布:涂鸦移动 知乎 编辑:程序博客网 时间:2024/06/03 10:22

前序:本篇主要是讲后台处理前台页面提交过来的数据的几种方式,后台传递数据到页面的方式。以及乱码的处理和restful。

资源:尚学堂 邹波 springmvc框架视频

一、提交数据的处理

1、提交的域名称和处理方法的参数一致

(1)提交的数据:http://localhost:8080/data/hello.do?name=zhangsan

      此处的name即为域名称。

(2)后台方法

@RequestMapping("/hello")public String hello(String name) {}

此时后台则可接收到前台传递的值:zhangsan

2、提交的域名称和处理方法的参数不一致

(1)提交的数据:http://localhost:8080/data/hello.do?uname=zhangsan

      此处的name即为域名称。

(2)后台方法

@RequestMapping("/hello")public String hello(@RequestPara("uname") String name) {}
3、提交是一个对象

若提交的表单域名和对象的属性一致,则方法参数使用对象即可。

(1)提交的数据:http://localhost:8080/data/hello.do?name=zhangsan&&pwd=123456

(2)后台方法

@RequestMapping("/hello")public String hello(User user) {}

二、将数据显示到UI层

(1)通过ModelAndView  —— 需要视图解析器

(2)通过ModelMap —— 不需要视图解析器

@RequestMapping("/hello")public String hello(ModelMap map) {       map.addAttribute("name","zhangsan");       return "index.jsp";}

这两种方法都相当于request.setAttribute("name","zhangsan");

三、乱码
1、post乱码
用springmvc 中提供的CharacterEncodingFilter过滤器解决
在web.xml中配置如下

2、get方式乱码

方法一:修改tomcat的配置

方法二:自己写过滤器

四、restful风格的url

1、前台:http://localhost:8080/data/delete/1.do

后台:

//相当于delete?id=1@RequestMapping("/delete/${id}")public String hello(@PathVariable int id){}

此时接收到前台页面传递过来的参数:1

2、前台:http://localhost:8080/data/1/123/delete.do

后台:

@RequestMapping("${id}/${uid}/delete/")public String hello(@PathVariable int uid, @PathVariable int id){}
此时,uid=1, id= 123

若是写成以下方式,则uid=123, id=1

@RequestMapping("${id}/${uid}/delete/")public String hello(@PathVariable("id")  int uid, @PathVariable("uid") int id){}




1 0
原创粉丝点击