相信看过第二章《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语句中添加查询参数并且访问报表页面相关推荐

  1. Sql语句中的DDL、DML、DCL的介绍

     一.DDL DDL is Data Definition Language statements. Some examples:数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 1.C ...

  2. Java Sql语句中查询变量

    Sql语句中,查询变量:'"+users+"',users是变量名: package com.snack.pay; import java.sql.Connection; impo ...

  3. sql语句中left join和inner join中的on与where的区别分析

    原文:sql语句中left join和inner join中的on与where的区别分析 关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用 ...

  4. oracle修改表结构的sql命令是什么,sql语句中修改表结构的命令是什么?

    sql语句中修改表结构的命令是:"ALTER TABLE"命令. ALTER TABLE 语句用于在已有的表中添加.删除或修改列. SQL ALTER TABLE 语法 如需在表中 ...

  5. oracle 哦【的【,清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦

    清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦 直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问 ...

  6. Mybatis 源码探究 (4) 将sql 语句中的#{id} 替换成 ‘?

    Mybatis 源码探究 (4) 将sql 语句中的#{id} 替换成 '? 出于好奇,然后就有了这篇文章啦. 源码给我的感觉,是一座大山的感觉.曲曲折折的路很多,点进去就有可能出不来. 不过慢慢看下 ...

  7. SQL语句的添加、删除、修改多种方法

    SQL语句的添加.删除.修改多种方法 SQL语句的添加.删除.修改虽然有如下很多种方法,但在使用过程中还是不够用,不知是否有高手把更多灵活的使用方法贡献出来? 添加.删除.修改使用db.Execute ...

  8. IsNull 和 SQL语句中CASE WHEN用法

    [转]IsNull 和 SQL语句中CASE WHEN用法收藏   [转]IsNull 和 SQL语句中CASE WHEN用法 1.ISNULL     使用指定的替换值替换   NULL.      ...

  9. 03-映射文件的sql语句中 #{} 和 ${} 的区别以及实现模糊查询

    映射文件的sql语句中 #{} 和 ${} 区别以及实现模糊查询 目录 sql 语句中的 #{} #{} 模糊查询错误用法 #{} 实现模糊查询 sql 语句中的 ${} ${} 实现模糊查询 #{} ...

  10. mysql与orancl_清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦

    清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦 直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问 ...

最新文章

  1. eclipse怎么创建web项目html,eclipse入门之创建第一个web程序(jsp测试环境)
  2. 【PostgreSQL+PostGIS离线安装】2天的踩坑及问题解决经验分享(含安装文件postgresql-9.5.9+postgis-2.2.3+多个依赖及测试SQL)
  3. C语言使用找出二维数组所有元素中的最大值,下标
  4. .net core在网关中统一配置Swagger
  5. CentOS7 Firewall NAT 及端口映射
  6. python教程循环语句_Python教程:关于Python 循环语句
  7. Vivado过程文件解释
  8. LINUX 循环fork()
  9. 操作数据库(增删改)
  10. Shell脚本常见执行报错案例
  11. python如何输出整数逆序_python字符串类型及操作
  12. Jumpserver安装和总结
  13. matlab里直线拟合,matlab如何拟合直线
  14. 科学计算机算ph,科学计算器TechCalc v4.8.0特别高级会员版
  15. Excel 常用函数和公式
  16. java获取行政区划编码(省市区县居委5级)
  17. 使用segue进行页面跳转
  18. 如何让app不走系统代理?
  19. HTML给表格写个标题居中,如何将表格中的各个标题居中?
  20. 【Codeforces 760 B Frodo and pillows】+ 二分

热门文章

  1. 记一次 CentOS7部署 可道云(kodexplorer)私有网盘
  2. 质性数据分析软件NVivo的安装选项和参数
  3. 碧海威 L7多款产品 后台命令执行漏洞
  4. python 过采样算法_类不平衡数据分类准确率的提升算法smote过采样方法
  5. js获取 当前URL中的参数
  6. 软工视频-----系统结构图
  7. 高等数学第六版上册答案
  8. 简单的C语言房贷计算器
  9. Java8新特性Stream流、Stream多字段排序
  10. js版算24点小游戏