Springboot 开发 -- Thymeleaf页面嵌入帆软报表

一、后端代码

@Slf4j
@Controller
@RequestMapping("/reprot")
public class FineReportController {
	//帆软地址:finereport.url=http://localhost:8075/WebReport/ReportServer?reportlet=
    @Value("${finereport.url}")
    private String finereportUrl;

    @RequestMapping(value = "/page")
    public String page(Model model,String cptName, HttpServletRequest request) 	{
        try {
            model.addAttribute("reportName",cptName);
            model.addAttribute("_reprotUrl",finereportUrl+cptName;
        } catch (Exception e) {
            log.error("报表页面打开出错:{}",e.getMessage());
        }
        return "report/reprot_page";
    }
}

二、reprot_page.html 前端 iframe 集成 代码片断

<iframe class="report_url" height="930" width="99%" th:attr="name=${reportName},id=${reportName}" frameborder="0" ></iframe>
<script th:inline="javascript">
    /*<![CDATA[*/
    $(function(){
        var winH = $(window).height();
        $(".report_url").css('height',winH - 80);
        post([[${_reprotUrl}]],{[[${reportName}]]);
    });
	//post 请求方法
    function post(URL, PARAMS,target) {
        var temp_form = document.createElement("form");
        temp_form .action = URL;
        temp_form .target = target;
        temp_form .method = "post";
        temp_form .style.display = "none";
        if (PARAMS){
            for (var x in PARAMS) {
                var opt = document.createElement("textarea");
                opt.name = x;
                opt.value = PARAMS[x];
                temp_form .appendChild(opt);
            }
        }
        document.body.appendChild(temp_form);
        temp_form.submit();
    }

    /*]]>*/
</script>

三、显示效果

在这里插入图片描述

四、部署到 nginx服务器问题

用 iframe 嵌套 帆软(FineReport)报表页面,结果部署到正式服务器,报表地址显示错误,无法正常访问,经过排查,发现是 nginx 配置导致 的,具体原因如下:

参考:nginx 不允许 iframe嵌套报表问题解决

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,缩进是非常重要的,它用于表示代码块的层次结构。Python并没有强制要求使用Tab缩进或者空格缩进,但是绝对不能混用Tab空格。根据PEP8规范,建议使用4个空格作为缩进\[1\]。在Python 3中,空格是首选的缩进方法,一般使用4个空格表示一级缩进\[2\]。如果在代码中混合使用Tab空格,可能会导致语法错误。 关于浮点型数据,Python中的浮点型占用8个字节(64位),遵守IEEE标准\[3\]。浮点型的取值范围为-1.8e308到1.8e308,超出这个范围的值会被视为无穷大(inf)或无穷小(-inf)\[3\]。因此,在进行浮点数计算时,需要注意范围限制和精度问题。 #### 引用[.reference_title] - *1* [空格还是Tab?用Vim写Python缩进的正确姿势](https://blog.csdn.net/weixin_39941262/article/details/110830198)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [第二章 Python基础](https://blog.csdn.net/xiaoma1245379/article/details/121983023)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值