润乾报表URL传参捕获不成功的BUG解决方案

来源:互联网 发布:淘宝申请开店流程 编辑:程序博客网 时间:2024/05/16 15:22
这几天遇到一个这样的问题。
A.JSP里有一段URL入参 url=…….jsp?dealerInfoId=***&arg=***,
B.JSP里代码段request.getParameterNames()接收得到dealerInfoId的值。
同时B.JSP里集成了润乾报表,相关代码如下:
            <report:param name="form1" paramFileName="<%=paramFile%>"
                needSubmit="no"
                params="<%=param.toString()%>"
 
            />

        <report:html name="report1" reportFileName="<%=report%>"
            funcBarLocation="top"
            needPageMark="yes"
            needScroll="yes"
            needPagedScroll ="yes"
            scrollHeight="300"
            scrollWidth="1200"
            generateParamForm="no"
            params="<%=param.toString()%>"
            exceptionPage="/reportJsp/myError2.jsp"
            appletJarName="runqianReport4Applet.jar,dmGraphApplet.jar"/>

在页面上点击查询,依据后台的SQL,始终得不出正确的数据(经数据反推是dealerInfoId未成功传入到SQL,为空值)
后来联系润乾客服,问题解决。
1.在对应的参数文件里追加数据列,WEB变量名命名为dealerInfoId,将可视属性选中,列宽设置成0,见下图。将修改后的润乾文件替换中间件的原文件(可搜索文件名找到位置),问题解决。


2.其实一开始我只是新增了dealerInfoId列,前端页面上可看到该列的编辑框,查询出来的数据是正确的。但是,这样的界面好丑。

把这列隐藏,得出来的数据就不正确。


后来把列设置成可见,并把列宽设置成0,这个是润乾客服小妹和她同事也想了很久很久才得出的解决方案。
可以在报表文件里增加"id="+@dealerInfoId,在报表中查看id是否传递成功。

我也不知道润乾底层是怎么写的。

PS:这件事情告诉我,碰到了这种事情别一个人瞎揣摩,浪费精力,找第三方的客服,寻找资源也是一项重要技能啊。润乾的内置tomcat一直打不开,控件台的提示


我也看不懂,客服告诉我这是端口被占用。于是,改端口
安装目录的下\webapps找到demo.xml,将 Connector port="6001"改成"9999"吧。
windows下查端口可以用如下方法:

在开始-运行,输入CMD打开命令行界面,输入命令
netstat -ano | findstr "80" (注80是你想要看查看的端口号)
就会输出包含80端口使用的情况
具体对应的行是
协议    本地地址        外部地址          状态          PID
 
如果想看某个进程具体是哪个进程可以使用下面命令
tasklist | findstr "5584"(注 5584是进程的id即PID)










0 0