超级链接到网页传递的中文乱码
1. 问题描述
在使用超级链接到网页传递参数时,若值中有中文,会出现乱码,如下图所示,那么如何传递让传递的中文值不出现乱码呢?
2. 实现思路
由于FR中的超级链接传递过来的参数被编码过了,所以在jsp页面中获取该参数时,需要通过java.net.URLDecoder.decode进行解码。
3. 示例
打开上一节中的模板%FR_HOME%\WebReport\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\超链传递网页参数.cpt
3.1 修改超级链接
在超级链接中增加一个参数,参数名为NAME,参数值为=B2,如下图:
3.2 网页修改
在获取参数中增加如下代码:
String NAME = java.net.URLDecoder.decode(request.getParameter("NAME"),"UTF-8"); //将NAME参数的值进行解码
注:若ID和TELEPHONE也有中文,也可以通过此方法进行反编码。
完整代码如下:
<%@ page language="java" pageEncoding="GBK"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%
String ID = java.net.URLDecoder.decode(request.getParameter("ID"),"UTF-8");
String NAME =java.net.URLDecoder.decode(request.getParameter("NAME"),"UTF-8");
String TELEPHONE = java.net.URLDecoder.decode(request.getParameter("TELEPHONE"),"UTF-8");
%>
<html>
<head>
<title>修改基本参数</title>
</head>
<body>
<table width="350" border="0" cellspacing="1" cellpadding="5px">
<tr>
<th width="130">运货商编码:</th><td width="208"><input type="text" id="ID" value="<%=ID %>" disabled/></td>
</tr>
<tr>
<th>公司名称:</th><td><input type="text" id="NAME" value="<%=NAME %>"/></td>
</tr>
<tr>
<th>电话:</th><td><input type="text" id="TELEPHONE" value="<%=TELEPHONE %>"/></td>
</tr>
</table>
</body>
</html>
3.3 效果查看
启动tomcat服务器,预览模板,点击超级链接,可以看到对应的中文正常显示了,如下图:
附件列表
标签:
已验证
文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201)