JimuReport积木报表打印多出一页空白页问题(解决方案)

原文地址:

JimuReport积木报表打印多出一页空白页问题 - BIGTREE (whwtree.com)

问题描述
积木报表预览或打印时,会多出一页空白页问题。

解决方案

jimureport升级至1.6.0版本以上或最新版本即可。

springboot2依赖

<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-spring-boot-starter</artifactId>
  <version>1.7.3</version>
</dependency>

springboot3依赖

<dependency>
  <groupId>org.jeecgframework.jimureport</groupId>
  <artifactId>jimureport-spring-boot3-starter-fastjson2</artifactId>
  <version>1.7.3</version>
</dependency>

更多详细说明参见原文地址:

JimuReport积木报表打印多出一页空白页问题 - BIGTREE

(完)

JimuReport 积木报表中,若需在报表菜单链接中使用 Token,通常涉及从前端或后端获取 Token,并将其拼接到报表访问链接中。以下是常见的实现方法: ### 从前端获取 Token 若 Token 存储在浏览器本地(如 localStorage 或 sessionStorage),可通过 JavaScript 脚本获取,并将其拼接到报表访问链接中。例如: ```javascript const token = localStorage.getItem('token'); const reportUrl = `http://your-report-server/report?token=${token}`; window.open(reportUrl, '_blank'); ``` 上述代码从 `localStorage` 中获取 Token,并将其附加到报表访问链接的查询参数中。 ### 从后端获取 Token 若 Token 需要通过接口从后端获取,可先通过 Ajax 请求获取 Token,再拼接链接。例如: ```javascript fetch('/api/getToken') .then(response => response.json()) .then(data => { const token = data.token; const reportUrl = `http://your-report-server/report?token=${token}`; window.open(reportUrl, '_blank'); }); ``` ### 在菜单链接中直接使用 Token 若 Token 是固定格式或可通过服务器动态生成,可以直接在菜单链接中嵌入 Token。例如,在菜单配置项中设置: ```json { "name": "报表菜单", "url": "http://your-report-server/report?token=your_token_value" } ``` ### 后端动态生成 Token 并拼接链接 在后端生成 Token 并拼接报表链接,可参考以下 Java 示例代码: ```java @RestController @RequestMapping("/jimu") public class JimuController { @GetMapping("/report") public String getReportUrl() { String token = generateToken(); // 生成 Token 的方法 String reportUrl = "http://your-report-server/report?token=" + token; return reportUrl; } private String generateToken() { // 生成 Token 的逻辑,例如使用 UUID 或 JWT return java.util.UUID.randomUUID().toString(); } } ``` 此方法通过后端生成 Token,并将其拼接到报表链接中返回给前端。 ### 使用 JWT 生成 Token 若需生成更安全的 Token,可使用 JWT(JSON Web Token)库。例如,使用 Java 生成 JWT Token: ```java import io.jsonwebtoken.Jwts; import io.jsonwebtoken.SignatureAlgorithm; import java.util.Date; public class TokenUtil { private static final String SECRET_KEY = "your_secret_key"; private static final long EXPIRATION = 86400000; // 24 小时 public static String generateToken() { return Jwts.builder() .setSubject("user") .setExpiration(new Date(System.currentTimeMillis() + EXPIRATION)) .signWith(SignatureAlgorithm.HS512, SECRET_KEY) .compact(); } } ``` 在生成 Token 后,将其拼接到报表链接中即可。 ### 总结 - 前端可通过 `localStorage` 或 `sessionStorage` 获取 Token,并拼接到报表链接中。 - 后端可通过接口生成 Token,并将其拼接到报表链接中返回给前端。 - 使用 JWT 可以生成更安全的 Token,提高系统安全性。 以上方法均适用于在 JimuReport 积木报表中获取 Token 并用于报表菜单链接的场景。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值