历史版本9 :服务器配置 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 基本配置编辑

点击菜单服务器>服务器配置,会弹出服务器设置的界面,如下图所示:

注:在服务器配置处设置的分页预览,填报预览,数据分析的属性是适用于整个服务器下的模板的,但是在模板web属性处设置的则是针对单个模板的,并不适用与其他模板。

2. 出错模板定义编辑

服务器配置相对模板web属性,增加了出错模板定义功能。
2.1 描述
报表自带的抛错页面色调如下图,但是客户项目可能有自己的色调和统一的出错页面,与我们提供的不一致,因此需要使用自定义出错页面。
2.2 实现思路
服务器>服务器配置>出错模板定义直接调用自定义的出错页面如:/error.html,页面中可以通过模板出错参数message、charset、exception获取到报错信息。
在使用自定义出错页面的时候可以调用报表系统错误页面的参数,下面简单的列出参数以及说明。
  参数
  说明
  message  提示错误信息
  charset  设置服务器的编码
  exception  错误异常堆栈信息
如上的参数可以通过${参数名}的形式调用。如在定义的error.html页面中调用参数message将提示错误信息显示在表格中,如下:
 
  1. <html>   
  2.         <body>   
  3.                 <table>  
  4.                         <tr>   
  5.                             <td>  
  6.                                 ${message}   
  7.                             </td>  
  8.                         </tr>   
  9.                  </table>   
  10.         </body>   
  11. </html>  
2.3 报表中调用error.html页面
定义好的出错页面在服务器>服务器配置>出错模板定义的模板路径中调用,可以通过相对路径或绝对路径进行调用:
相对路径:自定义的出错页面error.html放在当前Web应用下,如WebReport目录下,通过相对路径进行调用,模板路径为:/error.html;
绝对路径:自定义的出错页面error.html放在其他应用下,通过绝对路径进行调用,模板路径为:http://www.xxx.com/error.html

3. 解决自定义出错页面中文乱码的问题编辑

3.1 问题描述

在出错文字为中文的情况下,使用了${message},会出现乱码。

比如找不到模板文件,错误代码:1304 没有找到模板文件:GettingStarted2.cpt

使用上述自定义出错信息的话,出错信息是这样的

222

后面的英文部分显示正常,中文部分却是乱码,显示不是我们需要的,那么如何解决呢?

3.2 解决方案

出错的信息是通过FR进行转码过后的,中文会被显示成上述样式,为了还原,我们需要在error.html文件中使用FR.cjkDecode()来进行还原出错的信息,使用这个方法必须加

finereport.js文件,路径为/WebReport/ReportServer?op=emb&resource=finereport.js,需要在html中引用,如下图:
222

由于页面使用的${message}是在页面加载后完成的,所有js转码部分必须写在body内部,在${message}之后,为了获取此信息,我们加一组span标签,class设置为message,利用jquery中的$('.message').text()就可以获取和设置信息内容了,如下图:

    
222

注:在JS部分,不能直接使用${message}来获取出错信息内容,所以必须使用jquery或其他方法来获取span中的信息内容。

完整的源代码如下:

 
  1. <html>  
  2.   <head>  
  3.     <script src="/WebReport/ReportServer?op=emb&resource=finereport.js"></script>  
  4.   </head>  
  5.   <body>  
  6.     <table>  
  7.       <tr>  
  8.         <td>  
  9.           <span class='message'>${message}</span>  
  10.         </td>  
  11.         <td></td>  
  12.       </tr>  
  13.     </table>  
  14.     <script> $('.message').text(FR.cjkDecode($('.message').text()));  
  15.       //因为错误信息是转码之后的,必须解码  
  16.     </script>  
  17.   </body>  
  18. </html>   
保存后再新刷新页面,即可看到新的出错信息了,如下图:

222

可以看到,已经正确地还原了出错信息了。