Spring MVC学习之注解2
来源:互联网 发布:中国程序员数量 编辑:程序博客网 时间:2024/05/22 12:18
3.重定向和转发的区别
转发比重定向快,重定向需要经过客户端,转发是在服务器的内部 。
重定向可用于的场合;
1) 重定向用于重定向到一个外部网站
2)使用重定向避免在用户重新加载页面时再次调用同样的动作
比如:在提交表单时,某方法会被调用,并执行相应的动作,在提交表单后重新加载转发到的页面,该方法会再次被调用,数据库会出现两条相同的记录。
但采用重定向无法轻松的传值给目标页面,重定向的过程中Model对象会丢失。通过Flash属性提供的一种供重定向传值的方法。前提是说那个Flash属性,在SpringMVC的配置文件中有<annotation-driven />元素,还必须在方法上添加一个新的参数类型org.springframework.web.servlet.mvc.support.RedirectAttributes。redirectAttributes.addFlashAttribute("message","The product was successfully added");
4.请求参数 URL的一部分
1)采用key = value 的形式,并用&分隔
2)Spring MVC通过org.springframework.web.bind.annotation.RequestParam注释类型来注释方法参数。如下方法包含了一个获取请求蚕食productId值的参数,public void sendProduct(@RequestParam int productId) PS:参数类型不一定是String类型
5.路径变量(类似于请求参数)
和请求参数的不同在于路径变量没有key部分,只是一个值,为了使用路径变量,首先在Re去setMapping中的值属性中添加一个变量,且必须放在花括号里面,例如:定义一个名为id的路径变量
@RequestMapping(value="/product_view/{id}")
然后在方法签名中添加同名的变量,并用@PathVariable注解注释
请求URL的id值将被复制到路径变量中,可以在请求映射中使用多个路径变量。如下:
@RequestMapping(value="/product/{id1}/{id2}")
6.@ModelAttribute注释
该注释类型访问Model实例,可以注释方法参数或方法
1)注释方法参数,带@ModelAttribute注解的方法会将创建或输入的参数对象添加到Model对象中(若方法中没有显示的添加),如下:
@RequestMapping(method=RequestMethod.POST)
public String submitOrder(@ModelAttribute("key"),Order order,Model model){.....} 注:如果未定义key,则使用对象名来作为键值名
2)标注一个非请求的处理方法,被@ModelAttribute注释的方法会在每次调用该控制器类时被调用,SpringMVC在调用请求处理方法之调用@ModelAttribute注解的方法。使用@ModelAttribute注释的方法可以返回一个对象或一个void类型,若返回void则必须在方法参数中添加一个Model型的参数,并自行将实例添加到Model中,返回对象则,该对象自动添加到Model。
例如:返回对象:
@ModelAttribute
public Product addProduct(@RequestParam String productId) { return productService.get(ProductId) ; }
返回void:
@ModelAttribute
public Product addProduct(@RequestParam String Id,Model model) { model.addAttribute(new Product(id)); }
- Spring MVC学习之注解2
- Spring MVC学习之二:注解介绍
- Spring MVC学习之二:注解介绍
- spring mvc学习笔记之注解
- Spring MVC之 注解
- SPRING MVC注解 学习笔记
- Spring MVC学习之五:注解用法总结
- Spring MVC学习之五:注解用法总结
- Spring MVC 学习之基于注解的控制器
- Spring MVC 学习之基于注解的控制器
- JAVA Spring web mvc 学习 之 4:注解
- Spring MVC注解之@ResponseBody
- Spring MVC之controller注解
- 学习spring mvc 之路二 spring mvc 里的一些注解
- Spring MVC学习(六)-------注解式控制器详解2
- Spring MVC学习(六)-------注解式控制器详解2
- Spring MVC 学习手记(2)- @RequestMapping注解
- Spring MVC学习总结(2)——Spring MVC常用注解说明
- glassfish4.1 简单操作
- Android的Listview优化
- QAudioOutput放到次线程中
- 【PAT】【Advanced Level】1033. To Fill or Not to Fill (25)
- Android DataBinding一看就会
- Spring MVC学习之注解2
- Ethernet PHY , the definitive guide version 0.1
- 修改项目名称和项目包名
- 全国城市经纬度数据表mysql
- html和css常用转义字符
- java-String及其常用API
- react-native-image-picker
- static与const的用法
- 电路与电子技术1