JSP页面之间传递数据?

来源:百度知道 编辑:UC知道 时间:2024/05/17 18:14:55
a.html页面里有一个表单:
<form action="b.jsp" method="get">
请输入:<input type="text" name="b" />
<input type="submit" value="查看" />
</form>

b.jsp页面里:
<sql:query var="blist" scope="request">
select * from 表a where 名 = '<c:out value="${param.b}" />'
</sql:query>

问题:我在a表单里输入英文和数字,在b页里都能显示。但我如果输入“中文”字符,那where 名 ='中文' 是应该这样的啊,数据库里也有中文的,可就是不显示。后来我用这句<c:out value="${param.b}" />在页面里输出,看到a页里提交的中文字符到这里都是???什么的。不明白?请教一下!谢谢!

乱码 最好转换一下 我给你发个我老师写的方法

/**
*
*/
package Method;

/**
* 字符串转换类
*
* @author user201
*
*/
public class StringTo {

/**
* 字符串转换方法
*
* @param s
* @return
*/
public static String stringToGBk(String s) {
/**
* 判断传过来的参数是否为空
*/
if (s == null) {
return null;
}
/**
* 进行转换
*/
String s1 = null;
try {
s1 = new String(s.getBytes("ISO-8859-1"), "gb2312");

} catch (Exception e) {
e.printStackTrace();
}
return s1;
}

}

传完之后 用这里的方法转换一下就好了 上面说的那个
request.setEncodingcharset好象。。印象里。。

编码的问题,你把页面的编码改成gb2312,并且对接收到的数据进行解码,有很多方法,最简单的就是request.setEncodingcharset(好像是的)传递参数gb2312就可以了

charset=gb2312