如何在struts 2中创建时提供PDF文件的路径?

时间:2011-07-18 07:55:24

标签: java file-io struts2

我正在尝试使用struts创建一个PDF文件.Action类位置如下。

/home/Jagan/MATCH/Jagan/src/ActionClasses/PDFFile.java

此处工作空间从

开始
  

/ MATCH

在PDFFile.java中。我写的如下所示,它工作正常。

  

pdfwriter = PdfWriter.getInstance(文件,新的   FileOutputStream中( “/家/贾根/ xyz.pdf”));

但我必须在文件夹

下创建
  

/家庭/贾根/匹配/贾根/ PDF文件

我不应该使用/home/Jagan/,因为如果我必须在其他系统中运行此应用程序,它将成为硬编码。

我试过

  

pdfwriter = PdfWriter.getInstance(文件,新的   FileOutputStream中( “../../../的PDF / xyz.pdf”));

但它不是创建文件。即使它工作也不可行解决方案(因为“../../../”在Windows中不起作用。)

请建议我指定创建文件的路径的好方法。


添加问题。

我必须提供下载选项,用于在JSP页面中下载这个创建的文件。我应该使用哪个struts标签。请提供我的语法

2 个答案:

答案 0 :(得分:1)

  

我不应该使用/ home / Jagan /因为如果我必须在其他系统中运行此应用程序,它将成为硬编码。

更正,请改用

System.getProperty("user.home");///home/Jagan/, it will return you path to your home dir

答案 1 :(得分:1)

下载文件有2个方法: 1.您可以使用流程结果返回它,如解释here 2.当您尝试首先在文件系统中保存文件时,然后从另一个URL访问它。      回答你的问题是你应该得到servletContext.getRealPath(“/ WEB-INF”),之后一切都与WEB-INF有关。