报表里获取session中的值

编辑
文档创建者:文档助手1 (67727 )     浏览次数:3213次     编辑次数:9次     最近更新:jiangsr 于 2018-02-01     

目录:

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中保存了信息如country=China,在jsp中通过session.getAttribute("country"),获得country,再传给报表,代码示例如下:
<%@ page language="java" contentType="text/html; charset=gb2312" pageEncoding="gb2312"%> <html> <body> <iframe width=100% height=100% src='/WebReport/ReportServer?reportlet=getkey.cpt&country=<%=session.getAttribute("country")%>'> </iframe> </body> </html>
报表模板中就可以获取该country的值,如下图:
效果如下:
222

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

本文档是否有用?
谢谢! 我们非常感谢您的反馈。
提交反馈: