发新话题
打印

关于web页面传递参数的问题

关于web页面传递参数的问题

在使用杰表与web系统做整合的时候,经常会碰到多个参数联合查询的问题。目前,我使用的是通过URL传递参数的形式进行的,但是避免不了这样的问题:(1)参数量很大,容易导致请求的URL超过规定的长度被截断;(2)参数是中文的,传递到后台之后出现乱码的情况

请问各位同学,针对以上的问题,我们都有哪些解决方案?如何实现?谢谢!

TOP

你可以使用 web form 的 post方法,传递参数,这样,不会有长度和中文的限制,然后,使用简表报表查询入口,引擎会自动取到form上传过来的任何参数。你只需要在报表模板里,引用即可。

比如,你有一报表a.xml,抬头是某个员工的姓名,该姓名需要用户在报表查询时,通过web form 传过来。
1.先在报表里加一个text组件,公式如下:
复制内容到剪贴板
代码:
=employeeName
2.增加查询表单
复制内容到剪贴板
代码:
<form action='reportviewer?file=a.xml'>
<input name=employeeName id=employeeName>
...
</form>
这样就可以浏览到你的报表了,

TOP

传入的参数显示为乱码

我的页面是UTF-8,创建的一个参数,传入后显示出来的是乱码。。。。

TOP

如果你用,用url上传参数,建议你使用 encodeURIComponent, 如果用表域,传参数,就不会乱码,如:
复制内容到剪贴板
代码:
url = 'localhost:8080/jor/reportviewer?file=abc.xml&myname='+encodeURIComponent('老李');

TOP

传参数需要转换下

通过表单传递参数,也会出现中文乱码,我的方式是在ReportTag.java文件的里面进行转换
for (Enumeration en = request.getParameterNames(); en.hasMoreElements();) {
                String name = (String) en.nextElement();
                job.setParameter(name, new String(request.getParameter(name).getBytes("ISO-8859-1"),"UTF-8"));
}

TOP

发新话题