关于request.setAttribute()所置attribute为包含逗号的字符串时的一个问题,盼解答! 本帖最后由 Wuaner 于 2010-04-21 13:43:41 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 request.setAttribute("refreshStrParam", "1,2"); 是设置属性值,你的“1,2”是什么意思啊?看试下1.2会得到什么? 我试下1.2干什么?题目写的很明白了,设置的属性为包含逗号的字符串,哥哥你这句“‘1,2’是什么意思”让我无言以对csdn这贴图功能咋不能用那?上面贴图显示有问题的话,见下图:http://dl.javaeye.com/upload/attachment/237647/4f64b7de-0a38-3791-a228-f462e42c0c6f.png csdn丫的为什么不让编辑回复的帖子?debug跟踪request结果: java里面的字符串操作内定了正则表达式,用request.setAttribute("refreshStrParam", "1\,2");试试 request.setAttribute("aaa","1,2");System.out.println(request.getAttribute("aaa"));完全没有问题丫在别的地方有改了? 问题原因已找到。后台request.setAttribute("refreshStrParam", "1,2");我在jsp的js中是这样调用request中的attribute的:<script type="text/javascript"> //alert(<%=request.getAttribute("refreshStrParam")%>); //直接alert未加引号的request attr结果为1;这是为什么那?你试试alert(3,5)就知道了; aFunction(<%=request.getAttribute("refreshStrParam")%>); </script>而这相当于是调用 aFunction(1,2),而非aFunction("1,2");aFunction的定义是只可接收一个参数的,故在aFunction中alert其参数,只拿到前一个参数1!!错就错在没在<%=request.getAttribute("refreshStrParam")%>的外围加引号!!!!A Example<html> <script type="text/javascript"> alert(3,5); function aFunction(value) { alert(value); }</script><body><input type="button" value="test" onclick="aFunction(1,2);"></body> </html> 引以为戒: js代码中使用jsp标签在js和java代码间传值时,切记要在用到的java变量的外围加双引号""(如果java变量为纯数字类型的,可以不加,js可以将其识别为Number类型的;但任何时候都加上不失为一个好的习惯,可以让你不为莫名其妙的错误所困扰。) 删除svn上已有的程序为何失败? java: 把上传的文件在一段时间之后自动删除 XML获取节点个数的疑问? 关于JSP中文问题的一些经验。 如何用JAVA 解决多系统单点登录问题 这个错误怎么解决? 如何用java程序把dbf文件转到oracle库中? 如何从ServletConfig中得到站点的虚拟路径 有关客户端的问题? 各位大虾 ,在Servlet中如何使用Session,我做的怎么就是报错呢? 实用毕业设计,jsp个人网站,几个问题想问问大家 请高手帮定位,单例模式的应用
是设置属性值,你的“1,2”是什么意思啊?看试下1.2会得到什么?
我试下1.2干什么?题目写的很明白了,设置的属性为包含逗号的字符串,哥哥你这句“‘1,2’是什么意思”让我无言以对csdn这贴图功能咋不能用那?上面贴图显示有问题的话,见下图:
http://dl.javaeye.com/upload/attachment/237647/4f64b7de-0a38-3791-a228-f462e42c0c6f.png
试试
System.out.println(request.getAttribute("aaa"));
完全没有问题丫在别的地方有改了?
<script type="text/javascript">
//alert(<%=request.getAttribute("refreshStrParam")%>); //直接alert未加引号的request attr结果为1;这是为什么那?你试试alert(3,5)就知道了;
aFunction(<%=request.getAttribute("refreshStrParam")%>);
</script>而这相当于是调用 aFunction(1,2),而非aFunction("1,2");aFunction的定义是只可接收一个参数的,故在aFunction中alert其参数,只拿到前一个参数1!!错就错在没在<%=request.getAttribute("refreshStrParam")%>的外围加引号!!!!
A Example<html>
<script type="text/javascript">
alert(3,5);
function aFunction(value) {
alert(value);
}
</script>
<body>
<input type="button" value="test" onclick="aFunction(1,2);">
</body>
</html>
引以为戒: js代码中使用jsp标签在js和java代码间传值时,切记要在用到的java变量的外围加双引号""(如果java变量为纯数字类型的,可以不加,js可以将其识别为Number类型的;但任何时候都加上不失为一个好的习惯,可以让你不为莫名其妙的错误所困扰。)