This week's book giveaways are in the Refactoring and Agile forums.
We're giving away four copies each of Re-engineering Legacy Software and Docker in Action and have the authors on-line!
See this thread and this one for details.
Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Icefaces,JasperReport Integration

John Smith
Ranch Hand
Posts: 49
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi All:

I am using Icefaces 1.8.2, Jsf 1.1 and JasperReport 3.5.2.
I click a button and it call "testSearch" and should give return a pdf file. Instead nothing happens. There are no errors and no pdf file.
Any help or hint would be greatly appreciated it

public String testSearch() throws Exception
Connection connection;
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse)context.getExternalContext().getResponse();
InputStream reportStream = context.getExternalContext().getResourceAsStream("WEB-INF/reports/test_report.jasper");
ServletOutputStream servletOutputStream = response.getOutputStream();
ServletContext ctx = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
String filepath = ctx.getRealPath("/WEB-INF/reports/");
String imagepath = ctx.getRealPath("/WEB-INF/images/test_logo.gif");

HashMap parameterMap = new HashMap();

parameterMap.put("SUBREPORT_DIR", filepath);
parameterMap.put("Test Number", testNumber);
parameterMap.put("Image Path", imagepath);

Properties properties = new Properties();

String driver = properties.getProperty("jdbc.driver");
String jdbc_url = properties.getProperty("jdbc.url");
String username = properties.getProperty("jdbc.username");
String password = properties.getProperty("jdbc.password");
connection = DriverManager.getConnection(jdbc_url, username, password);

JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parameterMap, connection);


catch(Exception e)
log.error("exception message:"+e.getMessage());

return "success";
Tim Holloway
Saloon Keeper
Posts: 18014
Android Eclipse IDE Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Don't try and generate non-HTML documents in JSF code. All you will get is pain. Move the report generation functionality to a plain servlet.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic