报表里获取session中的值

编辑
  • 文档创建者:文档助手1
  • 浏览次数:24464次
  • 编辑次数:10次
  • 最近更新:jiangsr 于 2018-08-22
  • 1. 描述

    session保存了key-value属性对,希望在报表中拿到session中的key的值。

    2. 情形1:

    直接在报表模板中获取session中的值
    2.1 思路
    报表应用集成到用户系统中,共用同一个session,此时可以直接在报表中获取session的值。
    如session中保存了key a,其值为123,那么在我们报表中使用=$a就能直接获取到session中a的值。

    3. 情形2:

    网页中先获取session中的值再传给iframe中的报表
    3.1 思路
    以jsp为例,可以通过session.getAttribute(String key)获取session中key的值,嫁接在jsp中嵌入报表iframe的src后。
    3.2 示例
    在用户系统中通过session.setAttribute(String key,Object value);在session中保存了信息如fr_username=Anna,在jsp中通过session.getAttribute("fr_username"),获得fr_username,再传给报表,代码示例如下:
    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <html> <body> <iframe width=100% height=100% src='/webroot/decision/view/report?viewlet=getkey.cpt&country=<%=session.getAttribute("fr_username")%>'> </iframe> </body> </html>
    报表模板中就可以获取该fr_username的值,如下图:

    效果如下:
    注:jsp文件只能由服务器来解析。

    4. 情形3:在js中获取session

    普通的cpt模板,js获取session方法为:
    contentPane.currentSessionID
    注:如果FineReport报表嵌入到html页面的iframe中,那么可通过document.getElementById('reportFrame').contentWindow.contentPane.currentSessionID来获取session
    决策报表模板,js获取session的方法为:
    _g().sessionID

    附件列表


    主题: 专题总结
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]