Monday, 15 September 2014

Cannot get variable from Java Servlet -



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