Cannot get variable from Java Servlet -
i have html form asks user details curriculum vitae:
<form action = "processdetails.html" method = "post"> <table> <tr><td style = "font-weight: bold">personal details:</td></tr> <tr> <td>name:</td> <td><input type = "text" name = "applicant"/></td> </tr> <tr> <td>mobile no.:</td> <td><input type = "text" name = "mobile"/></td> </tr> <tr> <td>e-mail:</td> <td><input type = "text" name = "email"/></td> </tr> </table> <br/> <input style = "width: 150px" type = "submit" value = "generate cv"/> </form>
after clicking "generate cv" button, goes servlet displays entered details:
@webservlet("/processdetails.html") public class processdetailsservlet extends httpservlet { private static final long serialversionuid = 1l; string applicantname = ""; string mobileno = ""; string emailadd = ""; protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { dopost(request, response); } protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { response.setcontenttype("text/html"); if(request.getparameter("applicant") != null) { applicantname = request.getparameter("applicant"); } if(request.getparameter("mobile") != null) { mobileno = request.getparameter("mobile"); } if(request.getparameter("email") != null) { emailadd = request.getparameter("email"); } printwriter out = response.getwriter(); // other necessary html/css here out.print("<form action = 'generatepdf.html' method = 'post'>"); out.print("<table>"); out.print("<tr><td style = 'font-weight: bold'>personal details:</td></tr>"); out.print("<tr>"); out.print("<td>name:</td>"); out.print("<td>" + applicantname + "</td>"); out.print("</tr>"); out.print("<tr>"); out.print("<td>mobile no.:</td>"); out.print("<td>" + mobileno + "</td>"); out.print("</tr>"); out.print("<tr>"); out.print("<td>e-mail:</td>"); out.print("<td>" + emailadd + "</td>"); out.print("</tr>"); out.print("</table>"); out.print("<br/>"); out.print("<input style = 'width: 150px' type = 'submit' value = 'generate pdf'/>"); out.print("</form>"); // other html out.close(); } }
after clicking "generate pdf" button, jumps servlet:
@webservlet("/generatepdf.html") public class generatepdfservlet extends httpservlet { private static final long serialversionuid = 1l; protected void doget(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { dopost(request, response); } protected void dopost(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception { generatepdf(); } protected void generatepdf() { system.out.println("this generatepdf()."); processdetailsservlet pds = new processdetailsservlet(); system.out.println("name: " + pds.applicantname); } }
to check if generatepdf()
getting details, printed console. however, applicantname
not beingness printed: why applicantname
not beingness accessed?
when click on 'generate cv', form gets submitted processdetailsservlet
processdetailsservlet
displays result when click on 'generate pdf' 1 time again submit generatepdfservlet
.
well, not of user details generatepdfservlet
because not submitting value generatepdfservlet
when click on 'generate pdf'.
user info not persist next request until manage save in httpsession
or place safe.
your alternative (if not want utilize httpsession
) is, can generate form using processdetailsservlet
using uneditable input fields instead of table. next time user clicks on 'generate pdf', can resubmit info , in servlet generate pdf.
edit: input fields submitted in form. table values don't reach servlet.
java variables servlets
No comments:
Post a Comment