cvc-complex-type.2.1:元素'property'必须没有字符或元素信息item [children],因为type的内容类型为空 [英] cvc-complex-type.2.1: Element 'property' must have no character or element information item [children], because the type's content type is empty

查看:360
本文介绍了cvc-complex-type.2.1:元素'property'必须没有字符或元素信息item [children],因为type的内容类型为空的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用spring mvc的jasper报告开发报告。

I am developing report using jasper report with spring mvc.

我收到空白页面时出现以下错误点击查看按钮时。

I am getting blank page with following error while clicking on view button.

net.sf.jasperreports.engine.JRException: org.xml.sax.SAXParseException; lineNumber: 59; columnNumber: 14; cvc-complex-type.2.1: Element 'property' must have no character or element information item [children], because the type's content type is empty.
at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:247)
at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:230)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:218)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:172)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:156)
at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:171)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:448)
at com.asd.cms.service.ReportService.getReport(ReportService.java:137)
at com.asd.cms.service.ReportService.generateReport(ReportService.java:58)
at com.asd.cms.controller.KGDLCReport.viewReport(KGDLCReport.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)

.............................................. ................

...........................................................`

我的KGDLCReport.java代码:
com.asd。 cms.controller.KGDLCReport.viewReport(KGDLCReport.java:70)

My Code of KGDLCReport.java: com.asd.cms.controller.KGDLCReport.viewReport(KGDLCReport.java:70)

@RequestMapping("/userWiseReportKGDLC")
    public void viewReport(HttpServletRequest request, HttpServletResponse response) {
    String dateFrom = request.getParameter("dateFrom");
    String dateTo = request.getParameter("dateTo");
    String outputFormat = request.getParameter("outputFormat");

    Map<String,Object> param = new HashMap<String,Object>();
    param.put("dateFrom", dateFrom);
    param.put("dateTo", dateTo);

    String path = request.getSession().getServletContext().getRealPath("/resources/jasper/KGDCL_Report1.jrxml");
**KGDLCReport.java:70** ->  reportService.generateReport(path, outputFormat, param, response);
}

com.asd.cms.service.ReportService。 generateReport(ReportService.java:58)

 public void generateReport(String path, String outputFormat, Map<String, Object> param, HttpServletResponse res){
    try{
        if(new File(path).exists()){

            JasperPrint jp = getReport(path, param);  // Line: 58
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            //String outputFormat = req.getParameter("outputFormat");
            if(outputFormat.equals("pdf")){

                JasperExportManager.exportReportToPdfStream(jp, baos);
                    .............
         }
    }     

com.asd.cms.service.ReportService.getReport(ReportService.java:137)

public JasperPrint getReport(String path, Map<String, Object> parameters) throws SQLException{
    JasperPrint print = new JasperPrint();      
    JasperReport report;
    try {

        System.out.println("Path inside ReportService.java line 135"+path); 

        report = JasperCompileManager.compileReport(path); //Line: 137 

        print = JasperFillManager.fillReport(report, parameters, jdbcTemplate.getDataSource().getConnection());

    } catch (JRException e) {  

        e.printStackTrace();
    }
    return print;
}        

哪一个可能是导致错误的原因?
提前致谢。

Which one may be the cause of getting error? Thanks in advance.

推荐答案

我在做了一些R& D之后发现了问题。问题出现在报告页面中。 Java代码没问题。 JRXmlLoader无法准确加载报表页面的xml。所以SAXParser无法解析xml。这就是我收到错误的原因。

I have found the problem after doing some R&D. Problem is in report page. Java code is ok. JRXmlLoader can't load xml of the report page accurately. So SAXParser wasn't able to parse xml. That's why I am getting error.

这篇关于cvc-complex-type.2.1:元素'property'必须没有字符或元素信息item [children],因为type的内容类型为空的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆