SpringMVC Controller方法将的redirect 传递参数【解决】

环境:Jsp + springMVC + spring4.0.0

跳转的方法: 普通的String跳转  例如:return "jsp/app"; 跳转到jsp文件下的 app.jsp 页面。这是不带参数的重定向。 

需求:当访问添加app之后需要重定向到获取列表页面,添加页面如果出现错误,需要传递错误信息到获取列表方法返回给用户错误信息。

方法一:以前方法:直接在跳转字符串后面拼接传递参数,可行. [弊端,就是传中文可能会有乱码问题。乱码问题也可以解决。]

例如:return "redirect:/app/getAllApp?myError="+myError;

方式二:用RedirectAttributes  类,是 SpringMVC 提供的类 
	public String saveApp(APP app,HttpServletRequest request,RedirectAttributes attr) {
		//50004是自己定义的作物代码!
		attr.addAttribute("MyError", "50004");
		return "redirect:/app/getAllApp";
	}


这样在 跳转的方法里使用getParameter获取

<span style="white-space: pre;">	</span>@RequestMapping("getAllApp")
<pre>	public String getAllApp(HttpServletRequest request){
		String MyError = (String) request.getParameter("MyError");//获取上个方法添加的参数
		request.setAttribute("MyError", MyError==null?"":MyError);//设置到requset中页面提醒用户
		return "jsp/appset";
	}

 

在jsp 页面 js 使用弹窗提醒顾客,获取request中的提示信息var myerror = '${MyError }' ;

<script type="text/javascript">

function showError(){
var myerror = '${MyError }' ;
if(myerror == ''){

}else if(myerror == '50001'){
alert("创建或者修改操作失败!");
}else if(myerror == '50003'){
alert("删除操作失败!");
}else if(myerror == '50004'){
alert("获取列表操作失败!");
}else if(myerror== '50005'){
alert("上传文件扩展名不正确!此操作失败!")
}
}
</script>


<body οnlοad="showError()">



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值