JSP中文乱码显示及javascript与JSP变量传递问题

 
本系统的测试过程是在 Windows 2000 Server 平台上采用 J2SDK1.4 TOMCAT5 作为服务器进行的。由于初次接触 JAVA JSP JAVASCRIPT ,在这个过程中我遇到了很多了问题。现在分析一下我遇到的几个比较有代表性的问题。
 
1 JSP 中文乱码问题
在刚开始的时候,我遇到了中文乱码显示的问题。其中一种情况是当用 Request 对象获取客户提交的汉字的时候,会出现乱码;另一种情况是向数据库中插入用汉字表示的科目名称,可通过查询数据库读出的科目名称在 JSP 页面显示的时候却出现乱码。于是阅读了一些介绍 JSP 中文乱码问题的书籍,知道了这是由于编码问题。默认的服务器编码是 ISO-8859-1 ,而中文一般采用 GB2312 编码才能正确显示,所以必须进行编码转换。于是我将编码转换代码放在了一个函数 public String convert(String s) 中,转换代码如下:
public String convert(String s){
try {
byte[] bytes = s.getBytes("ISO8859-1");
return new String(bytes);
}catch(Exception ex) {
}
return null;
}
对要显示的中文先用 convert 函数进行编码转换,然后就能正确显示中文。
 
2 JSP javascript 之间参数传递的问题
在本系统中,由于要使用 javascript 代码对用户提交的数据进行初步的验证(是否为空或字符长度是否符合要求)和对页面进行一些控制以响应用户对页面的一些操作。这样就不可避免存在 JSP javascript 之间参数传递的问题。刚开始我直接在 javascript action 函数中引用 JSP 变量: <A HREF='javascript:action(KMH)'> 但出现错误,函数 action JSP 中的变量 KMH 作为字符串处理。后来查阅了一些资料后了解到 JAVASCIPT 函数引用 JSP 变量的正确方式是: <A HREF='javascript:action(<%=KMH%>)'> <%=KMH%> 才是变量 KMH 经过 JSP 服务器处理以后得到正确的字符串。这使我意识到在变量的使用过程中,必须时刻明确区分 JSP 中的变量和 JAVASCRIPT 中的变量,不能混用,否则将会出错。
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值