zoukankan      html  css  js  c++  java
  • finereport初体验

        新项目老大要求用finereport,当时真的是一头meng,第一次听说,用就用吧,前辈的话肯定是没错的。就开始上网看资料,老大带着走了一遍demo,就开始上手了,几天下来,发现真的太好用了,除了刚开始跟项目做整合的时候费了牛劲。现总结如下:

    1:jfinal框架的拦截器会把所有servlet全部拦截掉,造成finereport的/ReportSevlet访问不到,经过小伙伴们的努力,终于解决,解决步骤如下:

    (1)首先新写一个handler类   

    public class FineReportHandler extends Handler {
        @Override
            public void handle(String target, HttpServletRequest request,
                               HttpServletResponse response, boolean[] isHandled) {
                // 对于非静态文件,和非指定排除的url实现过滤
                //我这里过滤的是资源文件和网站后台
               //需要过滤哪个servlet就添加哪个
                if (target.startsWith("/ReportServer")) {
                    return ;
                }
                next.handle(target, request, response, isHandled);
            }
    
    }

    (2)然后在config 中加入handler

     @Override
        public void configHandler(Handlers me) {
            me.add(new ContextPathHandler("ctx"));
            me.add(new FineReportHandler());
        }
    

     这样一来就把finereport需要的servlet放开了,问题解决,另外web.xml 中关于finereport的配置如下

     <servlet>
            <servlet-name>ReportServer</servlet-name>
            <servlet-class>com.fr.web.ReportServlet</servlet-class>
            <load-on-startup>0</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>ReportServer</servlet-name>
            <url-pattern>/ReportServer</url-pattern>
    </servlet-mapping>
    

    2:finereport填报模式下,显示更新成功,数据库却一直没有更新内容,解决如下:

    在设置报表填报属性时,提交类型选择智能提交,选择未修改不更新,然后,最重要的是,一定要给表设置主键,一定要设置主键,否则还可能会造成违反数据表唯一原则(主键重复原因)

    3、由于finereport涉及很多数据库的操作,往往有时候出错了却不知道错误在哪儿,这时候就应该用上finereport的日志了,默认情况下,日志也只是显示个错误,执行的sql语句并不显示,这时候,在文件选项中选择日志的级别设置为DEBUG就可以了。

    4、finereport多报表只需注意几点,模板web属性——》为该模板单独设置,设置工具栏等等,最重要的是设置只提交当前sheet,

    另外还可以给每个模板添加各种事件js,等等等。

        总结就到这里,总而言之,finereport真的是个很好用的工具,做出来的界面快捷,好看,虽然我现在碰到了很多坑,但是接受哪个新事件不是先从坑开始的呢,有坑不要紧,爬出来就行了。小菜鸟学的东西还很多,一步一坑吧,平常心,平常心。

      

  • 相关阅读:
    Node Sass could not find a binding for your current environment : Node.js 8.x -SpiritMark
    SpringBoot从入门到精通教程(八)
    注解 @CrossOrigin
    出现VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。 未能将管道连接到虚拟机: 所有的管道范例都在使用中。
    说一下 JSP 的 4 种作用域?
    jsp有哪些内置对象?作用分别是什么?
    MVC的各个部分都有那些技术来实现?如何实现?
    你所了解的的软件测试类型都有哪些,简单介绍一下。
    你的测试职业发展目标是什么?
    您认为做好测试用例设计工作的关键是什么?
  • 原文地址:https://www.cnblogs.com/adkii/p/8027999.html
Copyright © 2011-2022 走看看