日期:2014-05-16  浏览次数:20340 次

像这种"6.1.1"带标点符号的传参该如何处理?
<%
for(int i=0;i<list.size();i++){
String v = "";
String name="";
String temp=null;
String[] sArr=null;
for(int j=0;j<list.get(i).size();j++){
name = (String)(list.get(i).get(j + ""));
sArr= name.split("\\*");
//String t = s[2].replace(".","\\.");
//System.out.println("ttttt:"+t);
temp= sArr[2];//这里该如何处理?
v += "<a href='javascript:showProblem("+sArr[1]+","+temp+")'>"+sArr[0]+"</a>";
if(j<list.get(i).size()-1)
v+="&nbsp;";
}
System.out.println("----v:"+v);
%>
grid2.getCell(<%=i+1%>, 5).innerHTML = "<%=v%>";

<%
}%>
<!--调用以下js跳转-->
function showProblem(nodeId,name){
var url="../maininfo/RegionProblem.so?regionid="+nodeId+"&itemindex="+name;  
alert(url);
  var win = showModelessDialog(url,window,"scroll:yes;status:no;dialogWidth:600px;dialogHeight:300px;resizable:yes"); 
}

因为参数有".",经过replace()替换成字母也不行。。真不知道该怎么办了,先只能换成temp.replace(".","0");
可是数据库里这个字段里面有0的话,那转回去后 将0也替换了。。
实在找不出法子了。。求教各位大仙。。。

------解决方案--------------------
探讨

引用:

v += "<a href='javascript:showProblem("+sArr[1]+",\""+temp+"\")'>"+sArr[0]+"</a>";

转为字符串

temp 本身就是字符串 还用转么。。。
按照你那样写。。js:缺少对象