codice:
exception
org.apache.jasper.JasperException: java.lang.NullPointerException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:492)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:422)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
root cause
java.lang.NullPointerException
com.itextpdf.text.pdf.XfaForm.findFieldName(XfaForm.java:275)
com.itextpdf.text.pdf.AcroFields.setField(AcroFields.java:1310)
com.itextpdf.text.pdf.AcroFields.setField(AcroFields.java:1288)
stampaPDF.GestorePdf.stampaFoglio(GestorePdf.java:45)
org.apache.jsp.foglio.stampa_jsp._jspService(stampa_jsp.java:126)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:376)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
codice:
public boolean stampaFoglio(Persona p, String nomeFilePdf) throws IOException, DocumentException, ClassNotFoundException, SQLException{
boolean stato=false;
PdfReader reader = new PdfReader("C:/PDF/"+nomeFilePdf);
//creo il nome del file di output
nomeFile="Foglio_"+p.getNome()+p.getCognome()+"_id_"+p.getCodice()+".pdf";
System.out.println(nomeFile);
PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(nomeFile));
//questo oggetto gestisce i form del pdf vuoto
AcroFields form = stamp.getAcroFields();
form.setField("data", p.getData());
form.setField("cognome",p.getCognome() );
form.setField("nome",p.getNome() );
form.setField("sesso",p.getSesso() );
form.setField("dataDiNascita",p.getDataDiNascita() );
form.setField("luogoDiNascita",p.getLuogoDiNascita() );
form.setField("indirizzo",p.getIndirizzo() );
form.setField("comune",p.getComune() );
form.setField("provincia",p.getProvincia() );
form.setField("statoCivile",p.getStatoCivile() );
//indico che non e più modificabile
stamp.setFormFlattening(true);
stamp.close();
stato=true;
return stato;
}
l'eccezione da quello che ho capito riguarda la riga 45: stampaPDF.GestorePdf.stampaFoglio(GestorePdf.java: 45)
che sarebbe questa:
form.setField("data", p.getData());
Ho controllato e p.getData() non è null