(1)我在后台一个controller跳转到另一个controller,为什么有这种需求呢,是这样的。我有一个列表页面,然后我会进行新增操作,新增在后台完成之后我要跳转到列表页面,不需要传递参数,列表页面默认查询所有的。
方式一:使用ModelAndView
return new ModelAndView("redirect:/toList");
这样可以重定向到toList这个方法
方式二:返回String
return "redirect:/ toList ";
其它方式:其它方式还有很多,这里不再做介绍了,比如说response等等。这是不带参数的重定向。
(2)第二种情况,列表页面有查询条件,跳转后我的查询条件不能丢掉,这样就需要带参数的了,带参数可以拼接url
方式一:自己手动拼接url
new ModelAndView("redirect:/toList?param1="+value1+"¶m2="+value2);
这样有个弊端,就是传中文可能会有乱码问题。
方式二:用RedirectAttributes,这个是发现的一个比较好用的一个类
这里用它的addAttribute方法,这个实际上重定向过去以后你看url,是它自动给你拼了你的url。
使用方法:
attr.addAttribute("param", value);
return "redirect:/namespace/toController";
这样在toController这个方法中就可以通过获得参数的方式获得这个参数,再传递到页面。过去的url还是和方式一一样的。
(3)带参数不拼接url页面也能拿到值(重点是这个)
一般我估计重定向到都想用这种方式:
@RequestMapping("/save")
public String save(@ModelAttribute("form") Bean form,RedirectAttributes attr)
throws Exception {
String code = service.save(form);
if(code.equals("000")){
attr.addFlashAttribute("name", form.getName());
attr.addFlashAttribute("success", "添加成功!");
return "redirect:/index";
}else{
attr.addAttribute("projectName", form.getProjectName());
attr.addAttribute("enviroment", form.getEnviroment());
attr.addFlashAttribute("msg", "添加出错!错误码为:"+rsp.getCode().getCode()+",错误为:"+rsp.getCode().getName());
return "redirect:/maintenance/toAddConfigCenter";
}
}
@RequestMapping("/index")
public String save(@ModelAttribute("form") Bean form,RedirectAttributes attr)
throws Exception {
return "redirect:/main/list";
}
分享到:
相关推荐
Spring MVC controller 间跳转重定向传参 在 Spring MVC 框架中,controller 间跳转重定向传参是一个非常常见的需求。这里,我们将讨论三种常见的情况:不带参数跳转、带参数拼接 URL 形式跳转、带参数不拼接参数...
- **视图链**:视图链是一种组织多个视图的方法,可以实现页面之间的跳转和重定向。 - **视图重定向**:当一个请求被处理完毕后,可能需要重定向到另一个页面。 - **内容协商解析器 ContentNegotiatingViewResolver*...
在Spring MVC框架中,请求转发和重定向是两种常见的处理HTTP请求的方式,它们在处理用户请求和导航页面之间有明显的差异。理解这两种方法的工作原理和使用场景对于开发高效的Web应用程序至关重要。 请求转发...
- **轻量级且易于理解**:Spring MVC 通过其简单的配置和较少的学习曲线,使得开发者可以快速上手。 - **高性能**:相比于其他框架如 Struts2,Spring MVC 在设计上更加注重性能优化。 - **高度灵活**:Spring MVC ...
Spring Security可以集成到Spring MVC项目中,提供认证和授权功能,保护敏感的用户数据和操作。 总的来说,这个简单的Spring MVC登录案例展示了如何使用注解驱动的方式来处理Web请求,以及如何实现基本的用户登录...
通过阅读这些源码,可以更深入地理解Spring MVC的运行机制和页面跳转流程。 总的来说,Spring 3.0 MVC的简单跳转实例展示了如何使用Controller处理请求,通过视图解析器解析返回的视图名,实现页面间的重定向或转发...
### Spring MVC 数据跳转 在 Spring MVC 中,数据跳转主要指的是控制器(Controller)处理完请求后,将数据转发到视图(View)进行展示的过程。这里的“跳转”实际上是指请求处理后的视图重定向或转发。 #### 转发与...
Spring MVC 支持两种方式来跳转页面: - **转发**:在控制器方法中返回逻辑视图名。 - **重定向**:在控制器方法中返回“redirect:/url”。 #### 十三、处理Ajax请求 Spring MVC 提供了多种方式来处理Ajax请求,...
视图链允许一系列视图处理逻辑,而视图重定向则可以实现URL的跳转。 8. **内容协商**: 内容协商是指根据客户端的能力和偏好返回不同的响应内容。`ContentNegotiatingViewResolver`通过多种策略确定最合适的视图。...
5. **错误处理和页面跳转**:配置Spring Security的访问拒绝处理和未授权页面,当用户尝试访问无权访问的资源时,系统应返回相应的错误信息或重定向到登录页面。 6. **测试和调试**:编写测试用例,确保权限控制的...
在Spring MVC中,这种复杂性可以通过模型绑定(Model Binding)和数据转换(Data Conversion)机制来简化处理。 1. **模型绑定**: Spring MVC支持基于注解的模型绑定,允许开发者通过`@ModelAttribute`注解将HTTP...
Spring MVC支持RequestDispatcher的forward()和sendRedirect()方法,分别用于内部请求转发和客户端重定向。 十、处理AJAX请求: Spring MVC可以无缝处理AJAX请求,通过配置和注解来定义JSON或XML的响应格式。 十一...
Spring MVC 结果跳转方法详解 Spring MVC 结果跳转方法是指在 Spring MVC 框架中,如何将请求结果跳转到指定的页面或执行特定的操作。本文将详细介绍 Spring MVC 结果跳转方法的实现方式。 一、使用 ModelAndView ...
在开发Web应用时,Spring MVC和MyBatis是两个非常重要的框架,它们分别负责控制层和数据访问层的处理。本篇文章将详细讲解如何利用这两个框架实现注册和登录功能。 首先,我们需要创建一个新的项目,并引入相应的...
在这个实例中,我们将深入探讨如何使用Spring MVC、Spring以及JdbcTemplate来实现一个包含注册和登录功能的Web应用。 首先,Spring MVC通过DispatcherServlet作为前端控制器,接收HTTP请求并分发到相应的处理器。在...
### Spring MVC 控制网站登录用户失效后跳转登录页面 #### 概述 在Web应用开发中,确保用户的会话安全至关重要。对于基于Spring MVC框架的应用程序而言,一个常见的需求是当用户会话失效(例如:用户长时间未操作...
在工具选择上,如Spring MVC框架中,可以通过`RedirectAttributes`来方便地实现重定向,并传递附加信息。 总之,转发和重定向都是Web开发中的重要概念,它们各有优缺点,理解其工作原理并合理应用,能够帮助我们...
总结,Spring MVC处理器方法的返回值多种多样,可以根据需求选择合适的返回类型来控制响应内容、视图跳转或数据绑定。理解并熟练运用这些返回类型是构建高效、灵活的Spring MVC应用程序的关键。
Spring Security是Spring生态中的一个组件,专门用于处理安全性问题,可以集成到Spring MVC中,提供用户认证和授权功能。 7. **MVC流程**:当用户访问登录页面并提交表单时,请求会被Spring MVC的DispatcherServlet...