这几天遇到一个这样的问题。
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)