如何在uReport2的SQL语句中添加查询参数并且访问报表页面
相信看过第二章《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
具体效果如下:
如果需要设置访问报表居中,可以进行如下操作:
设置完成,点击保存之后,再访问报表,效果如下:
完成!
如有遇到什么问题,欢迎各位读者在评论区下留言,如果错误之处,请各位大佬多多指出,谢谢!
如何在uReport2的SQL语句中添加查询参数并且访问报表页面相关推荐
- Sql语句中的DDL、DML、DCL的介绍
一.DDL DDL is Data Definition Language statements. Some examples:数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 1.C ...
- Java Sql语句中查询变量
Sql语句中,查询变量:'"+users+"',users是变量名: package com.snack.pay; import java.sql.Connection; impo ...
- sql语句中left join和inner join中的on与where的区别分析
原文:sql语句中left join和inner join中的on与where的区别分析 关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用 ...
- oracle修改表结构的sql命令是什么,sql语句中修改表结构的命令是什么?
sql语句中修改表结构的命令是:"ALTER TABLE"命令. ALTER TABLE 语句用于在已有的表中添加.删除或修改列. SQL ALTER TABLE 语法 如需在表中 ...
- oracle 哦【的【,清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦 直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问 ...
- Mybatis 源码探究 (4) 将sql 语句中的#{id} 替换成 ‘?
Mybatis 源码探究 (4) 将sql 语句中的#{id} 替换成 '? 出于好奇,然后就有了这篇文章啦. 源码给我的感觉,是一座大山的感觉.曲曲折折的路很多,点进去就有可能出不来. 不过慢慢看下 ...
- SQL语句的添加、删除、修改多种方法
SQL语句的添加.删除.修改多种方法 SQL语句的添加.删除.修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来? 添加.删除.修改使用db.Execute ...
- IsNull 和 SQL语句中CASE WHEN用法
[转]IsNull 和 SQL语句中CASE WHEN用法收藏 [转]IsNull 和 SQL语句中CASE WHEN用法 1.ISNULL 使用指定的替换值替换 NULL. ...
- 03-映射文件的sql语句中 #{} 和 ${} 的区别以及实现模糊查询
映射文件的sql语句中 #{} 和 ${} 区别以及实现模糊查询 目录 sql 语句中的 #{} #{} 模糊查询错误用法 #{} 实现模糊查询 sql 语句中的 ${} ${} 实现模糊查询 #{} ...
- mysql与orancl_清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦 直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问 ...
最新文章
- eclipse怎么创建web项目html,eclipse入门之创建第一个web程序(jsp测试环境)
- 【PostgreSQL+PostGIS离线安装】2天的踩坑及问题解决经验分享(含安装文件postgresql-9.5.9+postgis-2.2.3+多个依赖及测试SQL)
- C语言使用找出二维数组所有元素中的最大值,下标
- .net core在网关中统一配置Swagger
- CentOS7 Firewall NAT 及端口映射
- python教程循环语句_Python教程:关于Python 循环语句
- Vivado过程文件解释
- LINUX 循环fork()
- 操作数据库(增删改)
- Shell脚本常见执行报错案例
- python如何输出整数逆序_python字符串类型及操作
- Jumpserver安装和总结
- matlab里直线拟合,matlab如何拟合直线
- 科学计算机算ph,科学计算器TechCalc v4.8.0特别高级会员版
- Excel 常用函数和公式
- java获取行政区划编码(省市区县居委5级)
- 使用segue进行页面跳转
- 如何让app不走系统代理?
- HTML给表格写个标题居中,如何将表格中的各个标题居中?
- 【Codeforces 760 B Frodo and pillows】+ 二分