2016-06-02 10 views
0

これは私のjspで使用するクラスです。私は、インポートするクラスが500エラーで私のJSPファイルタイプに解決することはできません

package com.entity; 

public class Days { 

    private int d; 

    public int getD() { 
     return d; 
    } 

    public void setD(int d) { 
     this.d = d; 
    } 

    public Days() { 
     super(); 
    } 

    public Days(int d) { 
     super(); 
     this.d = d; 
    } 
} 

これは私のJSPコード

<%@page import="org.eclipse.jdt.internal.compiler.ast.ForeachStatement"%> 
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> 
<%@ page import="java.io.*, 
    com.entity.Days,com.factory.*, 
    net.sf.jasperreports.engine.*, 
    net.sf.jasperreports.engine.util.*, 
    java.util.*,java.sql.*, 
    net.sf.jasperreports.engine.export.*"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html> 
<head> 
<title></title> 
<%@ include file="/WEB-INF/views/include/easyui.jsp"%> 
<script src="${ctx}/static/plugins/My97DatePicker/WdatePicker.js" type="text/javascript"></script> 

</head> 
<body style="font-family: '';"> 

<div id="tb" style="padding:5px;height:auto;font-size:12px;" class="datagrid-toolbar"> 
    <div> 
     <span>report type:</span> 
     <select id="reportType" class="easyui-combobox" name="dept" > 
      <OPTION value="1">waterlevel</OPTION> 
      <OPTION value="2">rainfall</OPTION> 
      <OPTION value="3">pressure</OPTION> 
     </select> 
     <span class="toolbar-item dialog-tool-separator"></span> 
     <span>month:</span> 
     <input id="db" type="text" name="from" class="easyui-datebox" data-options="width:150,prompt: 'month'"/> 
     <span class="toolbar-item dialog-tool-separator"></span> 
     <a href="" class="easyui-linkbutton" plain="true" iconCls="icon-search" onclick="view()">check</a> 
    </div> 
</div> 
<% 
    Days days = new Days(2); 
    out.println(days.getD()); 
%> 
<%-- 
     File reportFile = new File(application.getRealPath("WEB-INF/views/jasper/successday.jasper")); 
     JasperReport jasperReport = (JasperReport) JRLoader.loadObject(reportFile); 

     try{ 
      //java bean 
      JRDataSource dataSource = new JRBeanCollectionDataSource(DaysFactory.get()); 
      JasperReport jasperReport = (JasperReport) JRLoader.loadObject(reportFile); 
      jasperPrint = JasperFillManager.fillReport(jasperReport, null, dataSource); 

      JRHtmlExporter exporter = new JRHtmlExporter(); 
      exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint); 
      exporter.setParameter(JRExporterParameter.OUTPUT_WRITER, out); 
      exporter.setParameter(JRHtmlExporterParameter.IS_USING_IMAGES_TO_ALIGN, Boolean.FALSE); 
      exporter.exportReport(); 
      out.flush(); 
     }catch(Exception e){ 
      e.printStackTrace(); 
     } 
--%> 
<hr> 
</script> 
</body> 
</html> 

ですこれはエラー

HTTP Status 500 - Unable to compile class for JSP: 

[enter image description here]

です

これはのStackTraceです:だから

Stacktrace: 
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103) 
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366) 
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:468) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:378) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 

、エラーが何であれ、クラスは、同じです!

答えて

0

クラスDaysjasperテンプレートにインポートする必要があります。

あなたjrxmlファイルの中には、そのように見えるでしょう:

<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="yourreport"> 
    <!-- properties --> 
    <import value="com.entity.Days"/> 
    <!-- the rest body of template --> 
</jasperReport> 

次に、あなたは(iReportは中またはJasperSoftStudioに)クラスパスにcom.entity.Daysでテンプレートをコンパイルする必要があります。この手順の後、それは動作する必要があります!

関連する問題