[英]Spring XML View Resolver not working
Using Spring MVC i want to create a PDF from the model. 我想使用Spring MVC从模型创建PDF。
I have created a controller as below 我创建了一个控制器,如下所示
@Controller
@RequestMapping("en/pdfdoc.gov")
@Transactional(propagation=Propagation.SUPPORTS)
public class PDFDocumentController extends SecurityController {
@RequestMapping(method = RequestMethod.GET,params="action=allAssociations",headers="Accept=*/*")
public ModelAndView getAllassociations(HttpServletRequest request, HttpServletResponse response){
Map<String, Object> revenueData= new HashMap<String, Object>();
revenueData.put("1/20/2010", "$100,000");
revenueData.put("1/21/2010", "$200,000");
revenueData.put("1/22/2010", "$300,000");
revenueData.put("1/23/2010", "$400,000");
revenueData.put("1/24/2010", "$500,000");
return new ModelAndView("PdfRevenueSummary","revenueData",revenueData);
}
}
and the view 和视图
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.view.document.AbstractPdfView;
import com.lowagie.text.Document;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.PdfWriter;
public class PdfRevenueReportView extends AbstractPdfView{
@Override
protected void buildPdfDocument(Map<String, Object> model, Document document,
PdfWriter pdfWriter, HttpServletRequest request, HttpServletResponse response)
throws Exception {
// TODO Auto-generated method stub
Table table= new Table(2);
@SuppressWarnings("unchecked")
Map<String,String> revenueData = (Map<String,String>) model.get("revenueData");
table.addCell("Month");
table.addCell("Revenue");
for (Map.Entry<String, String> entry : revenueData.entrySet()) {
table.addCell(entry.getKey());
table.addCell(entry.getValue());
}
document.add(table);
}
}
the dispatcher-servlet.xml dispatcher-servlet.xml
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<entry key="atom" value="application/atom+xml"/>
<entry key="html" value="text/html"/>
<entry key="json" value="application/json"/>
</map>
</property>
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
</list>
</property>
<property name="defaultViews">
<list>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
</list>
</property>
</bean>
<bean id="pdfview" class="org.springframework.web.servlet.view.XmlViewResolver">
<property name="order" value="0"/>
<property name="location">
<value>/WEB-INF/spring-pdf-views.xml</value>
</property>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass">
<value>
org.springframework.web.servlet.view.tiles2.TilesView
</value>
</property>
</bean>
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles.xml</value>
</list>
</property>
</bean>
spring-pdf-views.xml 弹簧-pdf-views.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="PdfRevenueSummary"
class="in.subrat.nayak.view.PdfRevenueReportView">
</bean>
</beans>
since the tiles.xml is working fine so i have not posted the code part. 由于tiles.xml正常工作,所以我还没有发布代码部分。
the Issue in the above code is that when i return the view from controller by 上面代码中的问题是当我从控制器返回视图时
return new ModelAndView("PdfRevenueSummary","revenueData",revenueData); 返回新的ModelAndView(“ PdfRevenueSummary”,“ revenueData”,revenueData);
it is not getting redirected to the class PdfRevenueReportView
as given in the spring-pdf-views.xml
它没有被重定向到spring-pdf-views.xml
给出的class PdfRevenueReportView
spring-pdf-views.xml
so plz help me to get out of this problem 所以请帮助我摆脱这个问题
Hopes the above question is clear.... 希望以上问题清楚。
after 2 days, i found what i needed 2天后,我找到了我需要的东西
the issue was simple just made the class PDFDocumentController
to extend the Class AbstractController
问题很简单,只需使类PDFDocumentController
扩展类AbstractController
just made 刚做
public class PDFDocumentController extends AbstractController
instead of 代替
public class PDFDocumentController extends SecurityController
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.