解决courseName的乱码
@RequestMapping("toLeft.action")
public String toLeftMenu(String code,ModelMap map,StringcourseName,HttpServletRequest request)throws Exception{
if(!"".equals(courseName) && courseName!=null){
String name=request.getParameter("courseName");
byte[] b=name.getBytes("ISO-8859-1");//用tomcat的格式(iso-8859-1)方式去读。
courseName=new String(b,"utf-8");
}
SysMenuTab condition = sysMenuService.getMenuByCode(code);
map.put("condition", condition);
map.put("courseName", courseName);
return "/jsp/left";
}
上边的这种方法,在本地运行好使,项目被部署到云端后不好使了,是因为linux系统不识别此方法
那么可以考虑下面这个方法:
html:
<a class="c-pt" οnclick="toHoutai('${all.courseName }');">${all.courseName }</a>
js:
function toHoutai(courseName)
{
alert(courseName);
courseName = encodeURI(encodeURI(courseName));
window.location.href='<%=basePath%>index/toLogin?courseName='+courseName;
}
java:
@RequestMapping(value = "toLogin")
@ResponseBody
public ModelAndView toLogin(String chapterId,String a,ModelMap map,HttpServletRequest request) throws IOException{
courseName=URLDecoder.decode(courseName,"UTF-8");
ModelAndView mav = new ModelAndView();
map.put("chapterId", chapterId);
mav.setViewName("login");
return mav;
}