spring-mvcを使用していくつかのモデルデータをPDFに出力しようとしています。それは機能しておらず、誰かがアドバイスを提供できるかどうか疑問に思いました。
以下を含むspring-servlet.xmlファイルがあります。
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="order" value="1"/>
<property name="prefix" value="/WEB-INF/view/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="xmlViewResolver" class="org.springframework.web.servlet.view.XmlViewResolver">
<property name="order" value="2"/>
<property name="location">
<value>/WEB-INF/spring-pdf-views.xml</value>
</property>
</bean>
spring-pdf-views.xmlファイルにこれがあります:
<bean id="MyPDF" class="com.example.MyPDFView"/>
これは私のMyPDFViewクラスです:
public class MyPDFView extends AbstractPdfView {
@Override
protected void buildPdfDocument(Map<String, Object> model, Document document, PdfWriter writer,
HttpServletRequest request, HttpServletResponse response) throws Exception {
@SuppressWarnings("unchecked")
Map<String, String> data = (Map<String, String>) model.get("modelData");
Table table = new Table(2);
table.addCell("Date");
table.addCell("Name");
table.addCell(data.get("modelData.dateValue"));
table.addCell(data.get("modelData.nameValue"));
document.add(table);
}
}
最後に私のコントローラーには次のものがあります。
@RequestMapping(value="/pdfInformation", method=RequestMethod.POST)
public ModelAndView showPDF(ModelMap model, PDFInfo pdfInfo, BindingResult result) {
return new ModelAndView("MyPDF", model);
}
私が出力で見ている問題は、それがxmlViewResolverに到達しないことです。MyPDFをJSTLビューとしてレンダリングしようとしています。これは私のログからです:
org.springframework.web.servlet.DispatcherServlet-レンダリングビュー[org.springframework.web.servlet.view.JstlView:name'MyPDF'; 'spring'という名前のDispatcherServletのURL[/WEB-INF/view/MyPDF.jsp]]
私は何が欠けていますか?