1.在下面的jsp内嵌java代码去除num之前,有某Controller已经有了操作:
request.getSession().setAttribute("num","纯数字串(带有X或Y的此处不考虑)"); //eg:435122199502011115
2.然后在某jsp中:
<% String num= (String) request.getSession().getAttribute("num");%>获取到String num.
3.此时,可能(只是有可能),在传值到java后台的Controller(采用springMVC框架)指定映射方法时:
在该方法内通过 String num= request.getParameter("num");此时拿到的num就已经变成了 435122199502010000 //后面的几位被和谐了....哈哈
此时这种情况,服务器会报错: 500 Get http:服务器ip:port/路径/(435122199502010000).....见图
此时解决办法: 在jsp获取到string串时就用英文字符拼接,传到controller内的指定的方法时通过subString拿到自己需要的那一段即可...
jsp如下:
window.onload=function(){
<% String certNo = (String) request.getSession().getAttribute("certNo") + "end";%>
// var certNo=${certNo};
var certNo = '<%=certNo%>';
//var certNo='111111111111111111end';
$.ajax({ type: "get", url: "get_todo_count.do", data: {"certNo":certNo}, dataType: "json",
success: function(data){
if("error"== data.count){ $("#demo_todo").html("系统暂时无法读取..."); }
else{ var count = data.count+"条待办";
$("#PDNotice_todo").html(count); //只为对应的系统设值 } } });
//setTimeout(methodName, 5000);//设置系统指定时间后执行的方法 } });
XXController内的XXmethods体内:
String certNo = request.getParameter("certNo");
// System.out.println(">>>>--->>>>>>>>>>>>>>---->>>>>>>>>------->>>>>>"+certNo);
int index = certNo.indexOf("end");
certNo = certNo.substring(0, index);
// System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+certNo);
最后的certNO串肯定是你想要的..
第一次写,格式还不是很清楚...了了几笔把大概的意思说出来了,以后有机会再好好研究写出好看的随笔..希望能够帮助到某些人