目录

更多的展现方法

有时用户希望实现更复杂的报表调用要求,例如页面嵌套的方式展现报表,或使用JSP标签的方式展现报表等。

页面嵌套的方式展现

可以通过iframe方式在一个页面中嵌入产品的通用报表展现页面,报表展现页面可以成为客户页面的一部分。

例如下图所示:


 

示例代码:

在一个html静态页面中通过iframe展现报表。 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!--引入安全校验类-->
<%@ page import="com.runqianapp.security.entry.sec.Security"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>在iframe中展现报表示例</title>
    <script type="text/javascript" src="<%=path %>/mis2/security/js/ModuleEntry.js"></script>
    <script type="text/javascript" language="javascript">
        function srInIframe(){
             // 报表所需参数;resID:资源ID
             var params={resID:10052};
          <%
             Map<String, String> paramMap = new HashMap<String, String>();
             //将报表资源ID加入安全校验信息
             paramMap.put("resID:","10052");
             // 生成安全校验信息
             String secInfo = Security.generate(request, paramMap);
           %>
             // 调用产品报表展现模块
             // "SR"为展示报表的模块ID,params为要传递的参数,secInfo是安全验证信息,"_blank"表示新窗口打开。这里的"showReportIframe"指的是iframe的名称,即属性name的值
             // 最后一个参数为内部调用参数,在平台内tab标签中打开使用,格式为JSON对象格式,{id : “tab标签id”, name : “tab标签name”},优先于target
             new ModuleEntry('1001', params, "<%= secInfo %>", 'showReportIframe','').enter();
        }   
    </script>    
</head>
    <body>
      <a href="#" onclick="srInIframe()">展现报表</a><br><br>
            <iframe name="showReportIframe" id="showReportIframe" style="height:550px;width:1070px;overflow: auto;" scrolling="auto"  ></iframe>    
      </body>
</html>

使用JSP标签展现报表

viewReport标签(产品中简称为VR标签),是一组用于展现报表的jsp标签。

用户可以在自定义的jsp页面中使用VR标签进行报表展现,并可通过指定标签属性控制报表展现的方式。

示例代码:

在一个自定义jsp(如上示例vrdemo.jsp)中通过VR标签view:report展现一张名称为report.raq的报表:

<%@ taglib prefix="view" uri="/WEB-INF/tld/viewReport.tld"%>
<html>
    <body style="margin: 0; width: 100%; height: 100%; overflow: auto;">
        <view:report name="report1"     //标签view:report用于展现普通报表,属性name用于设置报表在网页中的ID标识
            srcType="file"   //属性srcType表示需展现的报表源类型,file为报表文件
            fileName="/vrdemo/report.raq"    //属性fileName表示需展现报表的名称
            toolbarLocation="top"    //属性toolbarLocation表示工具栏的显示位置,top表示显示在页面上端
        />
    </body>
</html>

更多VR标签的介绍,请参考:报表展现标签与API -> JSP标签展现

具体标签的介绍和使用方式可参考 报表展现标签与API-> 报表展现标签