jsp url传jsp获取url中的参数问题

博客分类:
1048人阅读
关于给报表传值:
如果你不使用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
3、点击 Date Sets,在点中间的"Script"标签,选择BeforeOpen,写上
var sample = params["sample"].
if(isample=="null"){
this.queryText +="where 1=1" ;
this.queryText +=" where sample=" +
4、如此设置之后就不用再data set里面设置data set参数。
另一种实现方式:
1.jsp页面设置几个需要传递参数的文本框
"text/javascript"
function search(){
.getElementById("st").//开始日期
.getElementById("et").//结束日期
window.location.href
"run?__report=reports/new_report.rptdesign&__parameterpage=false&st="
function print(){
.getElementById("st").//开始日期
.getElementById("et").//结束日期
window.location.href
"frameset?__report=reports/new_report.rptdesign&__parameterpage=false&st="
"search()"
注: 当点击 查询
按钮时 用js指定转到的url
(window.location.href = "run?__report=reports/new_report.rptdesign&__parameterpage=false&st="+st+"&et="+)
(1)run(只能显示, 没有打印, 分页等功能): 和普通的html页面显示的效果一样,样式需要在报表中设计, 改成frameset则有所有功能
(2)参数:st(起始日期), et(结束日期)
2. rptdesign文件设置
(1).报表参数
Display As--Format as
Custom:yyyy-MM-dd
Custom:yyyy-MM-dd
(2).数据集参数
Defalut Value
Linked To Report Paramter
(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久发现了通过
中利用appcontext的方法传递数据。终于成功简单的处理了Birt web参数传递。而且传递的内容和长度和java一致。
String contextKey =
"whereClause"
request.getSession().setAttribute("AppContextKey"
, contextKey);
request.getSession().setAttribute("AppContextValue"
在report中用
beforeOpen中取出即可
如何把java代码中参数传递给报表?在报表中又怎样获取这个参数?
答:通过这种方式给报表传参:
HashMap paramMap = new HashMap();
paramMap.put("birtparam1", 1);
paramMap.put("birtparam2", 5);
task.setParameterValues(paramMap);
设置报表参数与传递的参数同名,这样就关联起来了
数据集参数与报表参数绑定
sql语句中的“?”号对应数据集参数
浏览: 221110 次
来自: 上海
web实时推送技术使用越来越广泛,但是自己开发又太麻烦了,我觉 ...
发来感谢!准备尝试!https://m.yooshifu.co ...
爱死博主了
已经成功的推送了
爱死博主了
已经成功的推送了 ...
爱死博主了
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'&&&&&&&&&&&&&&&&&&
posts - 2,comments - 3,trackbacks - 0
Jsp页面使用URL编码传递中文参数的情况下,在参数的解析过程中会出现乱码。由于java在设计的时候考虑到了国际化的问题,在java源程序编译成字节码的时候默认使用的是UTF-8编码。而在web运用上,由于不同的浏览器向服务器发送的信息采用的编码方式不同,在由像tomcat之类的服务器解码的时候会由于编码方式的不同而产生乱码,这是一个会困扰jsp初学者很久的问题。以前在使用struts的时候不需要处理这些问题,前些天在做一个简单的jsp页面的时候碰到这个问题。经过半天的摸索,基本解决了该问题。
例子中a.jsp页面通过URL编码的方式传递中文参数,在b.jsp中对该参数进行解析。
a.jsp源代码
&%@ page contentType="text/ charset=gb2312" language="java" import="java.sql.*" errorPage="" %&
&!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"&
&meta http-equiv="Content-Type" content="text/ charset=gb2312" /&
&title&无标题文档&/title&
&&&&&& String str_test = "华工";
&form method=post action="b.jsp?test=&%=java.net.URLEncoder.encode(str_test) %&"&
&&&&&&&& &input type="submit" value="Submit" name="提交"&&&
b.jsp源代码
&%@ page contentType="text/ charset=gb2312" language="java" import="java.sql.*" errorPage="" %&
&!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"&
&meta http-equiv="Content-Type" content="text/ charset=gb2312" /&
&title&无标题文档&/title&
&&&&&& String str = new String(request.getParameter("test").getBytes("ISO8859_1"));
说明:在使用了java.net.URLEncoder.encode 编码后,页面获取参数request.getParameter后需要使用ISO8859_1编码转换。此外,在jsp的字符集声明中把charset=UTF-8也没
阅读(...) 评论() &关于jsp页面间传递参数为变量的问题!_百度知道
关于jsp页面间传递参数为变量的问题!
我想在两个页面间传递参数,这个参数是个变量,名为temp,&%Stringtemp=rs.getString(1);%&&ahref=&boreData_show.jsp?tableName='&+temp+&'&&&%=temp%&&/a&这样为什么传不过去,那个...
我想在两个页面间传递参数,这个参数是个变量,名为temp,&%String temp=rs.getString(1);%& &a href=&boreData_show.jsp?tableName='&+temp+&'&&&%=temp%&&/a&这样为什么传不过去,那个双引号单引号改了n遍,结果要么是空串,要么就有错误,请问为什么呢?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
育知同创教育
百度知道合伙人官方认证企业
育知同创教育
1、【专注:Python+人工智能|Java大数据|HTML5培训】。 2、【免费提供名师直播课堂、公开课及视频教程】。 3、【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
jsp页面间传递参数:(1)直接在URL请求后添加如:& a href=&thexuan.jsp?action=transparams&detail=directe&&直接传递参数& /a&特别的在使用response.sendRedirect做页面转向的时候,也可以用如下代码:response.sendRedirect(&thexuan.jsp?action=transparams&detail=directe&) ,可用request.getParameter(name)取得参数(2)jsp:param它可以实现主页面向包含页面传递参数,如下:& jsp:include page=&Relative URL&&
& jsp:param name=&param name& value=&paramvalue& /&
& /jsp:include& 还可以实现在使用jsp:forward动作做页面跳转时传递参数,如下:& jsp:forward page=&Relative URL&&
& jsp:param name=&paramname& value=&paramvalue& /& & /jsp:forward& 通过这种方式和一般的表单参数一样的,也可以通过request.getParameter(name)取得参数(3)设置session和request通过显示的把参数放置到session和request中,以达到传递参数的目的session.setAttribute(name,value);
request.setAttribute(name,value)
取参数:value=(value className)session.getAttribute(name);
value=(value className)request.getAttribute(name);
lalalove_yaya
lalalove_yaya
采纳数:680
获赞数:2856
你想传什么?。。。在HTML里面,写的temp是什么东东?看看你的意思是不是这样子:&a href=&boreData_show.jsp?tableName=&%=temp %&&&&%=temp%&&/a&你写成的:&a href=&boreData_show.jsp?tableName='&+temp+&'&&&%=temp%&&/a&里面的temp是JS代码,,,你JS里面,有这个变量么?。。。你试一下上面的第一句代码。
本回答被提问者采纳
采纳数:15
获赞数:17
擅长:暂未定制
&a href=&boreData_show.jsp?tableName=&%=temp%&&&&%=temp%&&/a&试试。
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。豆丁微信公众号
君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
jsp中通过URL传递汉字参数的乱码问题
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口jsp页面向js传字符串参数的问题!!! - ITeye问答
现在我在页面中有:&input type="button" id="delete" value="删除" onclick="deleteFile('&ww:property value="urlDelete"&')"&
js中有:
function(deleteurl){
&&&&&&&& alert(deleteurl);
}
alert出来的是原来字符串去掉"\"的值,这是为什么啊??(注:&ww:property value="urlDelete"&为类似"e:\test\a.txt"的URL)
问题补充:一个人旅行 写道你可以从一个jsp文件的解析过程去理解。webwork标签先被解析成为如你所说"e:\test\a.txt"的字符串,则服务器返回给浏览器的html页面此时是如下情况:
&input type="button" id="delete" value="删除" onclick="deleteFile('e:\test\a.txt')"&
则js再解释执行时将把\当成转移字符了。
朋友,你完全理解我的意思啦,但是。。有好的解决办法吗??既可以在我的页面上显示e:\test\a.txt&&& 也可以让我在js中接收到'e:\test\a.txt'??
问题补充:myali88 写道返回到客户端前就把转义工作做好。
恩,您说的意思我明白,但是我是做了转义的啊,到客户端(页面)上我有一个展现的表单,是展现&td&filePath&/td&的我现在能达到正常的路径格式效果(也就是这种效果:'e:\test\a.txt'),不过现在我是想从我本页面去把filePath的值传到js的莫一个函数中去,结果传过去肯定是无法转义的url字符串啊??& 请问有什么办法吗?
你也可以这么解决,将这个参数输出到jsp页面的一个div里面&div id="tt" style="display:none"&参数&/div&//设为隐藏 必要的时候再开始加载完后给置空
js想要得到直接$("#tt").html() 就可以得到了。也可以传到后台
你把\ 改成/ 就可以了
引用不过现在我是想从我本页面去把filePath的值传到js的莫一个函数中去,结果传过去肯定是无法转义的url字符串啊??
你传过去的参数应该是类似于:
http://xxx.com//test/a.txt
解决办法正如楼上所言:
引用
返回到客户端前就把转义工作做好。
myali88 (架构师)
恩,楼上的方法可行,在后台就做好转义工作,前天就不会有这个问题了。
返回到客户端前就把转义工作做好。
你可以从一个jsp文件的解析过程去理解。webwork标签先被解析成为如你所说"e:\test\a.txt"的字符串,则服务器返回给浏览器的html页面此时是如下情况:
&input type="button" id="delete" value="删除" onclick="deleteFile('e:\test\a.txt')"&
则js再解释执行时将把\当成转移字符了。
java 语言里转义字符 \" 就代表双引号的一半 这样可以在双引号里被识别
双引号里不能嵌套双引号,在java里可以用转义字符,而在javascript里你可以这么写onclick="deleteFile('&ww:property value=’urlDelete‘&')"&& 要么将双引号括起来的字符串里的双引号全换成单引号& 要么 也可以用单引号括起来所有字符串但里面的单引号都得换成双引号!
你返回到页面的字符串是否做了转义?
已解决问题
未解决问题}

我要回帖

更多关于 jsp页面参数的传递url 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信