Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 打开生成的PDF文件时出错。使用JSF_Java_Jsf 2_Primefaces - Fatal编程技术网

Java 打开生成的PDF文件时出错。使用JSF

Java 打开生成的PDF文件时出错。使用JSF,java,jsf-2,primefaces,Java,Jsf 2,Primefaces,通过使用以下代码,可以下载PDF文件,但当我试图打开该PDF文件时,它显示一个错误:不是PDF或已损坏 这是我的XHTML代码: RichEditor.xhtml: 在此处添加标题或删除以使用默认标题 在此处添加页脚或删除页脚以使用默认值 这是我的以下托管bean: EditorData.java: import javax.faces.context.FacesContext; import javax.servlet.http.HttpSession; public class Edi

通过使用以下代码,可以下载PDF文件,但当我试图打开该PDF文件时,它显示一个错误:不是PDF或已损坏 这是我的XHTML代码: RichEditor.xhtml


在此处添加标题或删除以使用默认标题
在此处添加页脚或删除页脚以使用默认值
这是我的以下托管bean: EditorData.java:

import javax.faces.context.FacesContext;
import javax.servlet.http.HttpSession;

public class EditorData {

    private String data;


    public String getData() {
        return data;
    }

    public void setData(String data) {
        this.data = data;


    }

    public EditorData()
    {


    }


    public String save()
    {

        HttpSession session = (HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(true);
        session.setAttribute("userdata", data);




        return"Success";

    }


}
这是我的Servlet页面: 在这里,我将用户提供的数据保存在数据库中。我还想用用户指定的样式(如:字体、颜色等)将数据存储到pdf中

Editordatapdf.java

import java.io.IOException;

import javax.faces.context.FacesContext;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;


import com.primeki.development.utils.DBConnection;


public class Editordatapdf extends HttpServlet {
    private static final long serialVersionUID = 1L;


    DBConnection dbconnection;
    Connection connection;
    PreparedStatement ps;
    Statement state;
    ResultSet rs;




    public Editordatapdf() {
        super();
        // TODO Auto-generated constructor stub
    }

    public void init(ServletConfig config) throws ServletException {
        // TODO Auto-generated method stub
    }


    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        System.out.println("This is the Servlet Page");



        doPost(request, response);


    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


        try {


        javax.servlet.http.HttpSession session=request.getSession();
        System.out.println("This is the servlet page data"+ session.getAttribute("userdata"));
        dbconnection = new DBConnection();  
        System.out.println("This is the Servlet Page");
        connection = dbconnection.getConnection();
        System.out.println("Connection Successfully");
        String SqlQuery = " INSERT into richtext (data) VALUES" + "(?)";
        System.out.println(SqlQuery);
        ps=connection.prepareStatement(SqlQuery);
        String data = (String) session.getAttribute("userdata");

        ps.setString(1,data);

        ps.executeUpdate();
        System.out.println("customerstatement is executed Completed..!!!");



        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition", "attachment; filename=Data.pdf");
        PrintWriter out = response.getWriter();

        out.println(session.getAttribute("userdata"));





        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }





    }

}
当我试图打开pdf文件时出现错误。请帮我摆脱这个问题


谢谢……

您是否正在尝试将数据导出为pdf文件?是的。。我想将数据导出到pdf文件中为什么要实现自己的servlet?只需在JSF调用的托管bean中执行您的工作!