jsp和javascript传递参数的问题

iforem 2004-09-16 01:38:25

在jsp中我定义一个字符串,例如str = "23423;324234",中间用分号隔开

<a href="#" onclick="func1('<%=str%>')">test</a>

这样会出错,func1中根本的不到str的值

如果是str = "234235235"即可

这是为什么呢?
...全文
297 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zbulrush 2004-09-16
不会吧,我经常这样取
<script language="javascript">
function func1(str){
alert(str);
}
</script>
<%
String str="123;456";
%>
<a href="#" onclick="func1('<%=str%>')">test</a>
拷以上代码试试,如果还不行,升级一下浏览器版本
回复
pensun37 2004-09-16
<a href="#" onclick="func1('<%=str%>')">test</a>

换成 <a href="#" onclick="func1('"+str+"')">test</a>

回复
wsmall1 2004-09-16
不用分号,换逗号试试
回复
licheng7000 2004-09-16
分号在java中是特定的关键字,看看转义字符,建议用\\
转义字符 描述

\ddd 1到3位8进制数据所表示的字符(ddd)

\uxxxx 1到4位16进制数所表示的字符(xxxx)

\' 单引号字符

\\ 反斜杠字符

\r 回车

\n 换行

\f 走纸换页

\t 横向跳格

\b 退格


回复
iforem 2004-09-16
读取文本文件的代码如下

String ReadTextFile(String fileName)
{
System.out.println(fileName);
BufferedReader br = null;
try {
br = new BufferedReader(new FileReader(fileName));

String line = null;
StringBuffer sb = new StringBuffer();
while((line=br.readLine())!=null)
{
sb.append(line);
sb.append("\n");
}

br.close();
return sb.toString();
} catch(Exception e) {
e.printStackTrace();
return "error";
}

}

回复
iforem 2004-09-16
23423和324234分别是卡号
如果放在一起,处理的时候就无法区分了

我刚才又试了一次,如果直接传递"23423;324234"就没错,字符串是从文本文件中读取出来的,可能和这有关。但是读取出来的字符串在控制台上又是可以打印的,疑问中...???
回复
redlaputa 2004-09-16
str = "23423;324234"
为什么要用分毫格开呢
回复
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2004-09-16 01:38
社区公告
暂无公告