现在的位置: 首页 > 综合 > 正文

liferay 中页面传递参数乱码问题

2013年08月21日 ⁄ 综合 ⁄ 共 624字 ⁄ 字号 评论关闭
例如在view.jsp中要传递给List.jsp bloodname 参数值
<portlet:param name="bloodname" value="<%=b.getBloodname() %>"/>
但是在List.jsp 中用String bloodname =request.getParameter("bloodname");
得到的值是乱码的,试着设置传递过来的参数值进行编码转换
<%
//request.setCharacterEncoding("gb2312");
%>
也不好用,后来在上次转贴的文章中试用这个方法,也不好用
SP的request 默认为ISO8859_1,所以在处理中文的时候,
要显示中文的话,必须转成GBK的,如下
String str=new String(request.getParameter("name").getBytes("ISO8859-1"),"GBK");
out.println(str);
这样就可以显示中文了

要把String str=new String(request.getParameter("name").getBytes("ISO8859-1"),"GBK");中的
GBK改成UTF_8就好用了

所以在List.jsp中取值得时候要写成
String bloodname = new String(request.getParameter("bloodname").getBytes("ISO8859-1"),"UTF_8");

抱歉!评论已关闭.