Java 打开生成的PDF文件时出错。使用JSF
通过使用以下代码,可以下载PDF文件,但当我试图打开该PDF文件时,它显示一个错误:不是PDF或已损坏 这是我的XHTML代码: RichEditor.xhtml: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
在此处添加标题或删除以使用默认标题
在此处添加页脚或删除页脚以使用默认值
这是我的以下托管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中执行您的工作!