我有一些值要導出爲PDF,我如何在struts中執行此操作?在struts 1.x中導出爲pdf
我想做以下事情,當用戶點擊按鈕或鏈接時,有選項按鈕或鏈接,而不是用戶應該得到下載選項來下載導出的PDF文件。
我有一個需要導出爲PDF的結果集。
請幫助我如何去。
問候
我有一些值要導出爲PDF,我如何在struts中執行此操作?在struts 1.x中導出爲pdf
我想做以下事情,當用戶點擊按鈕或鏈接時,有選項按鈕或鏈接,而不是用戶應該得到下載選項來下載導出的PDF文件。
我有一個需要導出爲PDF的結果集。
請幫助我如何去。
問候
下面是一個例子,可以幫助你做你想要什麼:
import java.io.*;
import java.sql.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
public class CreatePDF{
public static void main(String arg[])throws Exception{
Document document = new Document();
PdfWriter.getInstance(document, new FileOutputStream("C:/data.pdf"));
document.open();
PdfPTable table = new PdfPTable(2);
table.addCell("Name");
table.addCell("Address");
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test",
"root", "root");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery("Select * from data");
while(rs.next()) {
table.addCell(rs.getString("name"));
table.addCell(rs.getString("address"));
}
document.add(table);
document.close();
}
}
但是實現它之前,你必須把itext.jar
到您的WEB-INF/lib
文件夾。 你也發現了很多方法來操縱你的pdf文件。
直到這我也做了同樣的事情,但需要與struts應用程序集成,而不是創建文件到特定的位置,我想給用戶下載的選項。我認爲我們必須在哪裏設置「content-dispostion」,我不知道在哪裏以及如何去做。 –
看看這個動作類的例子,它可以幫助你。
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.lowagie.text.pdf.*;
import com.lowagie.text.*;
import java.io.*;
public class download extends org.apache.struts.action.Action {
/* forward name="success" path="" */
private static final String SUCCESS = "success";
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Document document=new Document();
System.out.println(clientIp);
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition","attachment;filename=temp.pdf");
try
{
OutputStream out = response.getOutputStream();
PdfWriter.getInstance(document,out);
document.open();
document.add(new Paragraph("Hello Pdf"));
document.close();
}
finally
{
return mapping.findForward(SUCCESS);
}
}
還根據它更新您的struts-config.xml。
Struts不會導出爲PDF。如果你想實現它,你應該使用[iText](http://itextpdf.com/)或其他PDF庫。 –