如何在没有xml配置的情况下使用JasperReportsPdfView
发布时间:2020-12-16 23:00:48 所属栏目:百科 来源:网络整理
导读:我想有一个控制器方法从JasperReports jrxml文件返回PDF,而不使用任何xml配置. 我想使用JasperReportsPdfView.这有可能吗?我知道只能在这个博客中使用Java代码来完成它: http://krams915.blogspot.com/2010/12/spring-3-mvc-jasper-integration_22.html 但
我想有一个控制器方法从JasperReports jrxml文件返回PDF,而不使用任何xml配置.
我想使用JasperReportsPdfView.这有可能吗?我知道只能在这个博客中使用Java代码来完成它: http://krams915.blogspot.com/2010/12/spring-3-mvc-jasper-integration_22.html 但我相信一定可以用更少的代码:-) 这里有一些不幸的例子代码. @RequestMapping(value = "/test/pdfreport",method = RequestMethod.GET,produces = "application/pdf") public JasperReportsPdfView getPdf() { // does not work like this,unfortunately final Person p = userService.getUserById("the id"); final JasperReportsPdfView view = new JasperReportsPdfView(); view.setReportDataKey("person"); view.addStaticAttribute("person",p); // ?? view.setUrl("report.jrxml"); return view; } 谢谢你的指针. 编辑:这是我的工作解决方案: @Autowired private ApplicationContext appContext; @RequestMapping(value = "/test/pdfreport",produces = "application/pdf") public ModelAndView getPdf() { final List<Map<String,Object>> users = userService.getUsers(); final JasperReportsPdfView view = new JasperReportsPdfView(); view.setReportDataKey("users"); view.setUrl("classpath:report.jrxml"); view.setApplicationContext(appContext); final Map<String,Object> params = new HashMap<>(); params.put("users",users); return new ModelAndView(view,params); } 将spring-context-support包包含在项目中非常重要. 解决方法
这对我有用:
@Autowired private ApplicationContext appContext; @Autowired private DataSource dataSource; @RequestMapping(value = "/pdf",method = RequestMethod.GET) public ModelAndView getPdf() { JasperReportsPdfView view = new JasperReportsPdfView(); view.setJdbcDataSource(dataSource); view.setUrl("classpath:report.jrxml"); Map<String,Object> params = new HashMap<>(); params.put("param1","param1 value"); view.setApplicationContext(appContext); return new ModelAndView(view,params); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |