相信看过第二章《uReport2报表工具的基础使用及注意事项》的读者们应该对uReport2的基础操作会有所了解的,本章就开始讲述一下,如何在uReport2的SQL语句中添加查询参数并且访问报表页面。
(一)添加查询参数
因为uReport2的编写入口支持表达式解析,不难想到可以用${}的方式进行编写。当然,此处需要借助param()函数来获取用户提交的参数,具体如下所示:
(二)不确定传参方式
当我们直接预览数据时,因为没有传参,此处会根据我们参数设置里面的字段默认值传值过去进行查询。
假如我们不清楚当前参数是否需要传入,此时需要把sql转化为表达式的方式来编写,并且使用三目运算来实现,此时就不需要设置下列的参数列表,具体代码如下:
${
"select * from sys_role where 1=1"+
(param("id")!=null && param("id")!="" ? " and id = \'"+param("id")+"\'":" ")
#多个参数 直接添加在下方即可
#(param("name")!=null && param("name")!="" ? " and name = \'"+param("name")+"\'":" ")
}
注:此处编写时需要注意空格的使用,比如and前面不能省略空格,否则Sql语句将解析为:
select * from sys_role where 1=1and id = '1'
则在运行时就会报错,具体问题可以通过查看控制台打印出来的SQL语句就能更快查找问题。
具体效果如下:
此时浏览数据就能查询出全部数据,因为现在的预览相当于没有传入任何参数。
(三)如何传参及访问报表页面
那我们要怎么去测试传入参数和访问报表页面呢?还记得我们打开预览的报表文件时默认访问的链接是http://localhost:8080/ureport/preview?_u=p,因此我们需要修改当前链接的参数,如:http://localhost:8080/ureport/preview?_u=file:roleSelect1.ureport.xml,这里的file对应的就是我们所保存的报表文件,它是以xml文件的形式保存到webapp/WEB-INF/ureportfiles下的。
最后我们只需要在这个链接中添加参数即可,如下所示:
#不传入参数
http://localhost:8080/ureport/preview?_u=file:roleSelect1.ureport.xml
#传入参数
http://localhost:8080/ureport/preview?_u=file:roleSelect1.ureport.xml&id=1
具体效果如下:
如果需要设置访问报表居中,可以进行如下操作:
设置完成,点击保存之后,再访问报表,效果如下:
完成!
如有遇到什么问题,欢迎各位读者在评论区下留言,如果错误之处,请各位大佬多多指出,谢谢!