SpringMVC Redirect 跳转后如何保存 Model中的数据_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > SpringMVC Redirect 跳转后如何保存 Model中的数据

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

 2013/8/22 12:59:16  dbh0512  程序员俱乐部  我要评论(0)
  • 摘要:在编码中经常会遇到这样一种情况,就是在一些操作出错需要把错误信息返回到页面时恰恰却需要Redirect跳转这时候就会出现我在这里model.addAttribute("error","出错了!")的值没有了,这种情况怎么做呢,1.首先我们需要一个enum类用来保存所有错误提示publicenumEnumErrorInfo{ERROR("login-1","登录错误1!"),ERROR2("login-2","登录错误2!");privateStringdesc
  • 标签:MVC Spring 数据
编码中经常会遇到这样一种情况,
就是在一些操作出错需要把错误信息返回到页面时恰恰却需要Redirect跳转
这时候就会出现我在这里
class="java">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>
发表评论
用户名: 匿名