I need to pass just one object to my jasper report page.When I send list it works but when I send one object like following code it doesnt work. How I can do it ?
Code of report maker method :
// generatePdfReport
@RequestMapping(method = RequestMethod.GET, value = "/report/{id}")
public ModelAndView generatePdfReport(@PathVariable(value = "id") Long id, ModelAndView modelAndView)
throws JRException {
LOG.info("--------------generate PDF report----------");
Map<String, Object> parameterMap = new HashMap<String, Object>();
java.util.List<Node> nodeList = new ArrayList<Node>();
JRDataSource JRdataSource = new JRBeanCollectionDataSource(nodeList);
Node node = nodeService.getOne(id);
nodeList.add(node);
parameterMap.put("datasource", JRdataSource);
// pdfReport bean has ben declared in the spring configuration
modelAndView = new ModelAndView("pdfReport", parameterMap);
return modelAndView;
}
I have solved my problem with following codes,thanks to all :
// generatePdfReport single node
@RequestMapping(method = RequestMethod.GET, value = "/report/{id}")
public ModelAndView generatePdfReport(@PathVariable(value = "id") Long id, ModelAndView modelAndView)
throws JRException {
LOG.info("--------------generate PDF report----------");
Map<String, Object> parameterMap = new HashMap<String, Object>();
java.util.List<Node> nodeList = new ArrayList<Node>();
nodeList.add(nodeService.getOne(id));
JRDataSource JRdataSource = new JRBeanCollectionDataSource(nodeList);
parameterMap.put("datasource", JRdataSource);
// pdfReport bean has ben declared in the spring configuration
modelAndView = new ModelAndView("nodesReport_PDF", parameterMap);
return modelAndView;
}