`

SpringMVC Redirect 跳转后如何保存 Model中的数据

    博客分类:
  • Java
阅读更多
在编码中经常会遇到这样一种情况,
就是在一些操作出错需要把错误信息返回到页面时恰恰却需要Redirect跳转
这时候就会出现我在这里
model.addAttribute("error","出错了!")

的值没有了,这种情况怎么做呢,

1.首先我们需要一个enum类 用来保存所有错误提示
public enum EnumErrorInfo {
	ERROR("login-1", "登录错误1!"),
        ERROR2("login-2", "登录错误2!");
	
	private String desc;
	private String value;
	
	private EnumInfo(String value, String desc) {
		this.value = value;
		this.desc = desc;
	}

	public String getDesc() {
		return desc;
	}

	/**
	 * @return the value
	 */
	public String getValue() {
		return value;
	}
	
	public static EnumInfo getEnum(String type) {
		EnumInfo[] status = EnumInfo.values();
		for(int i = 0; i < status.length; i++) {
			if(status[i].getValue().equals(type) ) {
				return status[i];
			}
		}
		
		return null;
	}
	
}

2.在跳转时
model.addAttribute("code", EnumInfo.ERROR.getValue());
return "redirect:/account/login";

3.在跳转到的方法中获取
public void setAlert(request, m){
		 String code = request.getParameter("code");
		 if(code == null || "".equals(code))
			 return;
		 EnumErrorInfo e = EnumErrorInfo.getEnum(code); 
		 	if(e != null)
			 	model.addAttribute("error", e.getDesc()); 
	}
	

可以封装成方法调用,应该不止一出使用
4.在页面显示
<c:if test="${error!= null}"> 
					
						${error}
				
				</c:if>
分享到:
评论
2 楼 Mr_lioo 2014-09-18  
1 楼 dbh0512 2013-10-17  
return new ModelAndView(new RedirectView("url",model)

相关推荐

    SpringMVC界面跳转及参数传递.docx

    在SpringMVC中,界面跳转和参数传递是两个关键的概念,它们使得前后端交互更加灵活和高效。 首先,让我们来探讨界面跳转。在SpringMVC中,有三种主要的界面跳转方式: 1. **视图解析器(View Resolver)**:这是最...

    模拟springMVC跳转源码

    在处理方法中,我们可以创建这些对象,设置需要传递的数据和要跳转的目标URL。 1. `ModelAndView`:它包含了一个模型(Model)和一个视图(View)。模型用来存放要传递到视图的数据,视图则指定跳转的页面。例如: ...

    0617请求转发和请求跳转,处理模型数据.zip

    在SpringMVC框架中,请求转发(Request Forwarding)和请求跳转(Redirecting)是两种常见的处理HTTP请求的方式,它们在控制用户交互和管理模型数据方面起着关键作用。理解这两种机制对于开发高效且用户体验良好的...

    吴天雄--SpringMVC笔记.doc

    - 跳转方式:forward 和 redirect,分别对应页面内部转发和外部重定向。 - 作用域传值:session、request、application 等不同范围的变量传递。 - 文件上传与下载功能,支持大文件和断点续传。 - 异常处理机制,...

    Java SpringMVC 学习路线.pdf

    参数绑定是Web开发中常见的需求,SpringMVC提供了默认支持的参数类型,包括简单参数、Model/ModelMap、POJO对象以及包装的POJO。此外,还提供高级参数绑定,如数组类型和List类型。 @RequestMapping注解在SpringMVC...

    springMvc请求的跳转和传值的方法

    - **Model对象**:适用于`forward`和`redirect`,数据会被添加到Model中,通过视图解析器解析后传递给页面。 - **Session作用域**:适用于`redirect`,将数据放入`HttpSession`,跨请求保持数据。 - **URL参数**:...

    springMVC第一个示例

    在本示例中,我们将深入探讨如何创建并运行一个基本的 Spring MVC 项目,实现页面跳转功能。 首先,让我们了解 Spring MVC 架构的核心组件: 1. **DispatcherServlet**:这是 Spring MVC 的入口点,负责接收 HTTP ...

    springMvc增删改查

    在实际项目中,SSM(Spring、SpringMVC、MyBatis)组合还涉及拦截器、异常处理、国际化、权限控制等多个方面。通过合理配置和编码,可以构建出功能完备、易于扩展的应用系统。在SSM1这个压缩包中,可能包含了相关的...

    springMVC笔记.pdf 初学笔记

    在SpringMVC中,Model1和Model2是两种不同的模型。Model1是传统的MVC模式,Controller直接访问数据库,Controller将数据传递给View,View将数据展示给用户。Model2是基于接口的MVC模式,Controller将请求分发给...

    springMVC教程

    `Model` 是一个接口,可以将数据添加到模型中,然后由 SpringMVC 自动处理。 **跳转方式** `RedirectAttributes` 接口提供了重定向和转发的功能。`redirectAttributes.addFlashAttribute()` 可以将数据添加到 ...

    springMVC框架学习

    forward和redirect是SpringMVC中两种不同的页面跳转方式。forward是在服务器端内部跳转,不会改变浏览器地址栏的内容;redirect则是发送一个新的HTTP请求,通常用于重定向到另一个资源。 5.2 **使用@PathVariable...

    SpringMVC中一个Controller多个方法

    它基于模型-视图-控制器(MVC)设计模式,其中Controller接收请求,Model处理数据,而View负责展示结果。在Spring MVC中,Controller类通常使用@Controller注解标识,并且可以包含多个处理请求的方法,这些方法通过@...

    (代码)SpringMVC第6讲:请求转发和重定向

    - 在这个例子中,`"redirect:/targetPage"`将用户重定向到`/targetPage`,并且`RedirectAttributes`中的信息会在新的请求中保留,适用于跨请求的数据传递。 两者的主要区别在于: - 请求转发是在服务器端内部完成...

    8_SpringMVC笔记.pdf

    例如,我们可以将数据放入ModelAndView的视图名称中,或者直接放入Model接口的实现中,如`ModelMap`。 5. 视图跳转: SpringMVC支持视图的转发和重定向。在ModelAndView对象中,`setViewName("forward:/path")`表示...

    SpringMVC入门

    // 保存用户数据 System.out.println("Saved user: " + user); return "redirect:/success"; } } public class User { @NotNull private String name; @Email private String email; // 省略 getter 和 ...

    跟开涛学SpringMVC(4.6)Controller接

    在本课程"跟开涛学SpringMVC(4.6)Controller接"中,我们将深入探讨SpringMVC框架中的Controller接口控制器。这个部分是SpringMVC核心组件之一,用于处理HTTP请求并返回响应。Controller接口提供了将用户请求映射到...

    day01-SpringMVC入门.doc

    在 SpringMVC 中,MVC 模式指的是 Model(模型)、View(视图)和 Controller(控制器)的分离,使得各个部分职责明确,提高代码的可维护性和可扩展性。 **1. SpringMVC 的核心组件与执行流程:** - **...

    springmvc数据传输

    1. **模型(Model)**:在Spring MVC中,模型通常由业务对象或数据传输对象(DTO)组成。这些对象包含了应用程序需要处理的数据。例如,你可以创建一个名为`User`的类来存储用户信息。 ```java public class User {...

    SpringMVC 学习总结

    在 SpringMVC 中,可以根据不同的需求选择不同的方式来跳转页面: 1. **返回字符串视图名称**:这是一种常见的页面跳转方式。 ```java @RequestMapping("/toPage") public String toPage() { return "pageName...

    javassm源码springmvc实现登陆

    根据提供的文件信息,本文将详细解析“javassm源码springmvc实现登录”的知识点,包括Spring MVC框架的基本概念、如何利用Java SSM(Spring + SpringMVC + MyBatis)框架进行登录功能的开发等内容。 ### 一、Spring...

Global site tag (gtag.js) - Google Analytics