- 浏览: 291868 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
wahahachuang5:
web实时推送技术使用越来越广泛,但是自己开发又太麻烦了,我觉 ...
java以post发送方式实现百度Sitemap实时推送代码分享 -
fmpoffice:
发来感谢!准备尝试!https://m.yooshifu.co ...
java以post发送方式实现百度Sitemap实时推送代码分享 -
playboyhaolei:
爱死博主了 学习了 已经成功的推送了 ...
java以post发送方式实现百度Sitemap实时推送代码分享 -
playboyhaolei:
爱死博主了 学习了 已经成功的推送了 ...
java以post发送方式实现百度Sitemap实时推送代码分享 -
真三武侯:
爱死博主了
java以post发送方式实现百度Sitemap实时推送代码分享
JSP传参数给Birt的两种方法
关于给报表传值:
如果你不使用birt viewer的话,那就是使用api调你的报表,birt api有设置参数的api.
如果使用birt viewer,直接通过url或者使用birt 标签都是可以的。
本文只是用jsp的url方式传递参数给birt报表,然后在birt的sql语句里面使用:
一、第一个中方法:
1、在jsp的URL里面添加所要传递的参数:
http://localhost:8080/birt-web/frameset?__report=test.rptdesign&sample=my+parameter
2、在报表当中添加同名报表参数sample,然后可以添加data set参数关联到报表参数sample,这样data set参数就可以得到从jsp页面传递过来的参数从而作为查询条件。
二、第二种方法:
1、在jsp的URL里面添加所要传递的参数:
http://localhost:8080/birt-web/frameset?__report=test.rptdesign&sample=my+parameter
2、在报表当中添加同名报表参数sample
if(isample=="null"){
this.queryText +="where 1=1" ;
}
else {
this.queryText +=" where sample=" + sample ;
}
1.jsp页面设置几个需要传递参数的文本框
jsp代码
- < script type = "text/javascript" >
- function search(){
- var st = document .getElementById("st").value;//开始日期
- var et = document .getElementById("et").value;//结束日期
- window.location.href = "run?__report=reports/new_report.rptdesign&__parameterpage=false&st=" +st+"& et ="+et;
- }
- function print(){
- var st = document .getElementById("st").value;//开始日期
- var et = document .getElementById("et").value;//结束日期
- window.location.href = "frameset?__report=reports/new_report.rptdesign&__parameterpage=false&st=" +st+"& et ="+et;
- }
- </ script >
- </ head >
- < body >
- < input type = "text" name = "st" id = "st" > < br >
- < input type = "text" name = "et" id = "et" > < br >
- < input type = "button" value = " 查 询 " onclick = "search()" >
- < input type = "button" value = " 打 印 " onclick = "print()" >
- </ body >
(window.location.href = "run?__report=reports/new_report.rptdesign&__parameterpage=false&st="+st+"&et="+et;)
(1)run(只能显示, 没有打印, 分页等功能): 和普通的html页面显示的效果一样,样式需要在报表中设计, 改成frameset则有所有功能
(2)参数:st(起始日期), et(结束日期)
2. rptdesign文件设置
(1).报表参数
Name Data type Display Display As--Format as
st Data Text Box Custom:yyyy-MM-dd
et Data Text Box Custom:yyyy-MM-dd
(2).数据集参数
Name Data Type Direction Defalut Value Linked To Report Paramter
st Date Input N/A st
et Date Input N/A et
(3).数据集sql(时间从 ? 到 ? 的时间段的记录)
select * from tabelName where tbtime betweem ? and ?
原来用URL方式向Birt进行参数传递,发现二个问题
1.需要用urldecode进行二次处理,麻烦;
2.参数长度有限制,恶心。遇到长一点参数就没有办法了;
后来就考虑在script中通过session 参数进行传递
- importPackage(Packages.java.io,Packages.java.util,Packages.java.net);
- importPackage(Packages.javax.servlet.http);
- request=reportContext.getHttpServlet();
- var session = request.getSession();
- status = session.getAttribute("whereClause" );
结果发现request始终是null,原因是此request不同于javax下的request,其实经过Java处理也是可以实现,但我觉得太烦了。
研究了N久发现了通过
Adding an Object to the Application Context for the Viewer
中利用appcontext的方法传递数据。终于成功简单的处理了Birt web参数传递。而且传递的内容和长度和java一致。
- String contextKey = "whereClause" ;
- request.getSession().setAttribute("AppContextKey" , contextKey);
- request.getSession().setAttribute("AppContextValue" , sql);
在report中用
beforeOpen中取出即可
如何把java代码中参数传递给报表?在报表中又怎样获取这个参数?
答:通过这种方式给报表传参:
HashMap paramMap = new HashMap();
paramMap.put("birtparam1", 1);
paramMap.put("birtparam2", 5);
task.setParameterValues(paramMap);
设置报表参数与传递的参数同名,这样就关联起来了
数据集参数与报表参数绑定
sql语句中的“?”号对应数据集参数
评论
比如:request.getSession().setAttribute("AppContextValue" , sql);
在report的beforeOpen中,是request.getSession().getAttribute("AppContextValue");这么取出来么?
发表评论
-
202060914
2020-06-09 14:44 0INSERT INTO `QMPARAMDETAIL` (` ... -
20200609
2020-06-09 14:42 0INSERT INTO `QMPARAMDETAIL` (` ... -
shengxiao
2020-06-03 21:37 0生肖 原则 部首 举例 吉凶 ... -
wuge
2020-04-28 14:55 0INSERT INTO `QMPARAM` (`TYPE`, ... -
wugesancai
2020-04-28 14:53 0INSERT INTO `QMPARAM` (`TYPE`, ... -
js监控页面加载完成后执行action
2012-12-08 20:34 3164//Some scripts require that you ... -
JS 判断 null 转
2012-09-25 18:45 1325... -
js子窗口创建及父子窗口之间通信 转
2012-09-20 18:51 1676Javascript弹出子窗口 可以通过多种方式实现 ... -
js子窗口和父窗口交互 转
2012-09-20 18:44 20671。父窗口传递信息给子窗口 看代码实例: ... -
[转载]jquery获取父窗口的元素
2012-09-20 18:36 1885window.parent.document.getEleme ... -
父窗口和子窗口之间的交互 转
2012-09-20 18:26 2109转自:http://hi.baidu.com/gfan ... -
TagSupport与BodyTagSupport的区别
2012-09-18 10:29 8736标签库的接口和类的继承关系 答:表现形式一: a ... -
Birt学习笔记——birt开发过程中常见的问题 (转)
2012-09-04 15:36 87292011-11-02 00:06:42| 分类: ... -
正则表达式语法
2012-08-28 16:28 1078一个正则表达式就是由普通字符(例如字符 a 到 z)以及 ... -
jquery 操作 radio checkbox select 等表单 总结 (单选、复选、下拉框)
2012-07-14 18:47 2126转载:http://tiame.iteye.com/blog/ ... -
CSS3.0 的介绍 CSS3的介绍
2011-10-27 11:31 1543CSS3中新技术:圆角、个 ... -
HTML5 详细介绍 及应用实例
2011-10-27 10:58 2073HTML5 概况 什么是 HTML5 H ... -
JavaScript Call 方法和 JavaScript Apply方法 总结
2011-10-26 11:23 1805Javascript的每个Function对象中 ... -
javascript 的保留字 Javascript未来保留字(Javascript Future Reserved Words)
2011-10-26 10:05 1256以下的保留字不可 ... -
JavaScript闭包的详细解释 深入理解javascript闭包
2011-10-26 08:04 1989javascript闭包(Closure)初探 clos ...
相关推荐
JSP页面间传递参数是Web开发中的一项重要技术,以下是几种常见的JSP页面间传递参数实现的方法: 1. 直接在 URL 请求后添加参数 可以在 URL 请求后添加参数,如:<a href="thexuan.jsp?action=transparams&detail=...
总结起来,JSP和Servlet实现分页的方法主要分为基于请求参数和基于会话两种。理解这两种方法的工作原理并根据项目需求选择合适的方式是提升Web应用性能和用户体验的关键。通过阅读和实践提供的"openpage"相关文件,...
jsp连接mysql两种方法,当您面临JSP连接MySQL数据库问题,你首先需要在MySQL数据库里创建一username表,表里面创建两个字符型的字段,字段名分别为:uid,pwd,然后插入几条测试数据。
在JavaServer Pages (JSP) 开发中,页面间的参数传递是常见的操作,尤其是在处理包含汉字的参数时,由于编码问题可能会导致乱码。本文主要介绍如何在JSP中正确地进行汉字参数的转码与解码,确保数据在页面间传递时...
在IT行业中,Cognos和JSP(JavaServer Pages)是两种不同的技术,但它们可以协同工作以实现数据的交互和展示。Cognos是一款由IBM提供的商业智能和分析平台,而JSP则是一种用于创建动态网页的Java技术。本文将深入...
这是本人做的一个演示JSP如何传递参数的实例,里面介绍了JSP传递各种参数的5种方法,还有一种就是通过地址栏来传递,在这里里面没有体现。
总结,JSP与BIRT之间的参数传递是一种常见的需求,它允许我们根据用户输入动态生成定制化的报表。通过理解这两个技术的工作原理以及它们如何相互交互,开发者可以构建出灵活且强大的报表解决方案。记住,无论是在JSP...
本文将详细介绍几种常见的JSP页面间参数传递方法及其应用场景。 #### 二、直接在URL请求后添加参数 这种方法是最直接也是最简单的参数传递方式。当用户点击链接或表单提交时,可以在URL后面直接追加参数,形如 `...
本篇文章将详细介绍两种在`JSP`中实现表头固定的常见方法,确保用户在滚动查看长表格时始终能看到表头。 方法一:CSS定位技术 1. **静态定位**:通过CSS的`position`属性,我们可以将表头设置为`position: fixed`...
在Java Web应用程序中,Servlet和JSP是两个关键组件,它们协同工作来处理客户端的请求并展示响应。本文将深入探讨如何在JSP页面中获取Servlet请求中的参数,并将其传递到另一个JSP页面。 首先,我们需要配置`web....
在页面的url中使用encodeURI(encodeURI(中文)),对中文... 您可能感兴趣的文章:js将json格式的对象拼接成复杂的url参数方法js的form表单提交url传参数(包含+等特殊字符)的两种解决方法JS根据key值获取URL中的参数值及
本文将详细介绍两种常见的JSP页面间参数传递方式:重定向跳转与转发跳转,并对比这两种方法的特点及适用场景。 #### 重定向跳转 **定义:** 重定向跳转是一种HTTP响应机制,服务器告诉浏览器去访问另一个URL。在...
Applet中使用getParameter()方法获取JSP页面传递的参数,例如背景颜色和前景颜色。这些参数可以在JSP页面中通过 `<PARAM>` 标签进行设置。 四、JSP页面与Applet的交互 JSP页面与Applet之间的交互使用JavaScript...
在这个"JSP参数接收工具类.rar"压缩包中,包含了两个重要的文件:"JSP参数接收工具类(ParamUtils.txt)"和"类加载工具.txt"。这些文件很可能是为了帮助开发者更方便地管理和处理JSP页面传入的请求参数,以及理解类...
在Web开发领域,JavaServer Pages(JSP)是一种常见的服务器端脚本语言,用于生成动态网页内容。然而,为了提高网站的搜索引擎优化(SEO),有时我们需要将JSP文件转换为静态HTML文件。这是因为搜索引擎爬虫通常更...
### 几种JSP页面传值方式详解 在Java Web开发中,JSP(Java Server Pages)是一种常用的技术,用于创建动态网页。JSP页面之间的数据传递是实现前后端交互的关键环节之一。本文将详细介绍几种常见的JSP页面传值方式...
2. 捕获请求:在Servlet的doGet或doPost方法中,获取请求的URL和参数。 3. 解析JSP:使用JSP的`RequestDispatcher.include()`或`JspRuntimeLibrary.include()`方法,将JSP页面包含进来并执行,得到HTML字符串。 4. ...
解决JSP 中文显示问号问题的方法有两种:一种是在 Eclipse 中设置 Encoding 选项,另一种是修改 JSP 文件的编码方式。 方法一:在 Eclipse 中设置 Encoding 选项 在 Eclipse 中,可以通过设置 Encoding 选项来解决 ...
【标题】"Tomcat的JSP编译参数" 在Java Web开发中,Tomcat服务器扮演着重要的角色,尤其是对于处理JSP(JavaServer Pages)页面。JSP是一种动态网页技术,它允许开发者将HTML代码与Java代码混合编写,从而实现动态...
JSP页面的五种跳转方法是Web开发中常见的页面间导航技术,它们允许开发者在用户请求之间灵活地转移控制流。以下是这五种方法的详细介绍: 1. **RequestDispatcher.forward()** - `RequestDispatcher.forward()`...