润乾集算报表使用defineBean出现的问题

    xiaoxiao2021-12-14  23

    遇到客户在使用defineBean时,也就是用这样的标签方式,

    <report:html name="reportfile1" 

    srcType="defineBean"

    beanName="reportDefine"

    第一次内容是正确的,后面无论操作几次都是第一次的内容了。

    我们先来看看defineBean方式发布和reportBean方式发布的区别,两者的相同点很好理解,都需要把raq文件转换成ReportDefine对象,进行相应的处理。而不同点,就是前者是计算之前的报表模板,后者是计算好的报表结果。由于defineBean是没有进行计算的报表对象,那么在definebean方式发布的时候,就需要计算,那么运算的环境如果我们需要让他发生变化的话,那么我们要把这个改变了的context也传递过去,也就是在

    srcType="defineBean"

    beanName="reportDefine"

    的基础上,可能需要加上

    contextName=”myContext” 当然这需要

    request.setAttribute("reportDefine",rd);

    request.setAttribute( “myContext”, context );

    这两句做基础。

    那么客户遇到这种问题的解决方案就是在jsp页面加上下面这段

    String rptName = "RPT_"+Double.toString(Math.random());     request.setAttribute(rptName,rd); %> <report:html name="report1"     srcType="defineBean"     beanName="<%=rptName%>" />

    转载请注明原文地址: https://ju.6miu.com/read-962242.html

    最新回复(0)