我正在尝试使用以下tutorials将jasper与struts2集成。
但是jasper编译器无法访问该文件,我的代码在下面给出
ServletContext context=ServletActionContext.getServletContext();
URL is = context.getResource("/jasper/our_jasper_template.jrxml");
String path=is.getPath();
String jasper = is.getPath().replace("our_jasper_template.jrxml", "our_compiled_template.jasper");
System.out.println(path); //here displays the path
JasperCompileManager.compileReportToFile(path,jasper); // here throws FileNotFoundException
如果我更改path="C:\our_jasper_template.jrxml"
(保留文件),
编译器读取文件,但无法将文件保存到our_compiled_template.jasper
(显示Error saving file: jaspers\jasper\our_compiled_template.jrxml
)
我经历了很多建议,但我未能纠正。
答案 0 :(得分:0)
getRealPath()
就是答案。
所以我改变了上面的代码,得到了输出
ServletContext context=ServletActionContext.getServletContext();
String path= context.getRealPath("/jasper/our_jasper_template.jrxml");