反饋已提交

網絡繁忙

當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

超级链接到网页传递的中文乱码

1. 问题描述

在使用超级链接到网页传递参数时,若值中有中文,会出现乱码,如下图所示,那么如何传递让传递的中文值不出现乱码呢?
222

2. 实现思路

由于 FR 中的超级链接传递过来的参数被编码过了,所以在 jsp 页面中获取该参数时,需要通过 java.net.URLDecoder.decode 进行解码。

3. 示例

打开上一节中的模板%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\超链传递网页参数.cpt

3.1 修改超级链接

在超级链接中增加一个参数,参数名为 NAME,参数值为=B2,如下图:

222

已完成模板请参照%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\超链到网页传递中文转码.cpt

3.2 网页修改

在获取参数中增加如下代码:

String NAME = java.net.URLDecoder.decode(request.getParameter("NAME"),"UTF-8"); //将NAME参数的值进行解码

注:若 ID 和 TELEPHONE 也有中文,也可以通过此方法进行反编码。

完整代码如下:


<%@ page language="java" pageEncoding="UTF-8"%>  
<!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 服务器,预览模板,点击超级链接,可以看到对应的中文正常显示了,如下图:
222

 

在线查看示例效果请点击 超链到网页传递中文转码 .cpt

4. 模板下载

附件列表


主題: 原简体文档
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉