2010-03-03 5 views
3

Я пытаюсь вывести файл Excel в виде представления в Spring Roo 1.0.2 Каков самый быстрый способ сделать это? (Нужно ли добавлять новое сопоставление и т. Д.?) В настоящий момент я использую Roo AjaxUrlBasedViewResolver по умолчанию.spring roo excel view

Благодаря

ответ

5

Я не думаю, что есть определенный «Крошка Ру» способ сделать это, но Spring MVC имеет класс AbstractExcelView, который использует Apache POI и не вызывает никаких проблем - я думаю, что это лучший вы можете надеяться.

Сначала нужно создать класс представления, который расширяет AbstractExcelView и реализует метод buildExcelDocument:

import org.springframework.web.servlet.view.document.AbstractExcelView; 

public class XlsView extends AbstractExcelView { 

    @Override 
    protected void buildExcelDocument(
      Map<String, Object> model, HSSFWorkbook workbook, 
      HttpServletRequest request, HttpServletResponse response) throws Exception { 
     //Apache POI code to set up the HSSFWorkbook goes here 
     response.setHeader("Content-Disposition", "attachment; filename=\"file.xls\""); 
    } 
} 

Затем добавьте следующие строки в webmvc-config.xml. Я не думаю, что вопросы, позиции, но я его ниже раздел, где мой TilesConfigurer перечислен:

<bean id="excelViewResolver" class="org.springframework.web.servlet.view.XmlViewResolver"> 
      <property name="order" value="1"/> 
      <property name="location" value="/WEB-INF/views/views-excel.xml"/> 
     </bean> 

Наконец создать видовые excel.xml со следующими в нем:

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd"> 
    <bean name="XlsView" class="com.your.package.XlsView"/> 
    </beans>