2017-04-17 5 views
0

JasperReportSpring MVC을 사용하고 싶지만 처리 방법으로 InternalResourceViewResolver을 사용합니다. 그리고 보고서 메서드를 호출하면 pdfReport.jsp 페이지가 검색되고 404 not found이 표시됩니다. 하지만 .jsp 페이지가 아닌 열린 보고서 파일이 필요합니다!Jasper 보고서 및 InternalResourceViewResolver - 404 찾을 수 없음 오류

내 컨트롤러 방법 : 내 봄 XML 파일 구성이

@RequestMapping(method = RequestMethod.GET, value = "/report/{id}") public ModelAndView generatePdfReport(ModelAndView modelAndView) { LOG.debug("--------------generate PDF report----------"); Map<String, Object> parameterMap = new HashMap<String, Object>(); java.util.List<Node> nodeList = nodeService.list(); JRDataSource JRdataSource = new JRBeanCollectionDataSource(nodeList); parameterMap.put("datasource", JRdataSource); // pdfReport bean has ben declared in the spring configuration return new ModelAndView("pdfReport", parameterMap); } 

다음 몇 가지 변화

<mvc:annotation-driven/> 
<tx:annotation-driven/> 
<context:component-scan base-package="com.datum.fnd"> 
    <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> 
</context:component-scan> 

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 
    <property name="contentType" value="text/html; charset=UTF-8" /> 
    <property name="prefix" value="/WEB-INF/pages/"/> 
    <property name="suffix" value=".jsp"/> 
</bean> 

<!-- Report pages beans -->  
<bean id="pdfReport" 
     class="org.springframework.web.servlet.view.jasperreports.JasperReportsPdfView" 
     p:url="classpath:reportTest.jrxml" 
     p:reportDataKey="datasource" /> 

답변

0

내가 해결 한 내 문제 :

1) follwing을 추가 spring xml 설정 파일에 코드 :

<!-- Jasper report --> 
<import resource="jasper-views.xml"/> 

<bean class="org.springframework.web.servlet.view.XmlViewResolver"> 
    <property name="location" value="/WEB-INF/spring/jasper-views.xml"/> 
    <property name="order" value="0"/> 
</bean> 

2), 새로운 재스퍼 - views.xml 파일을 만들고 복사하고 여기에 코드를 follwing을 붙여 넣습니다

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:util="http://www.springframework.org/schema/util" 
    xsi:schemaLocation=" 
    http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/util 
    http://www.springframework.org/schema/util/spring-util-3.0.xsd"> 

<!--here all the url value should contains the valid path for the jrxml file--> 

<bean id="pdfReport" 
     class="org.springframework.web.servlet.view.jasperreports.JasperReportsPdfView" 
     p:url="classpath:reportTest.jrxml" 
     p:reportDataKey="datasource" /> 
</beans>