如何使用servlet中的隐藏按钮传递变量的值

时间:2014-10-12 17:17:30

标签: java html servlets

我正在使用servlet,当我尝试下面的代码它产生NumberFormatException时,我已经初始化了所有变量但是当我单击按钮时它在变量中赋值null值导致Exeption

public class page1 extends HttpServlet 
{
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    int q=0,mq=0,umq=0;
    String qno="0";
   if(request.getParameter("Bt")!=null)
    {
        qno=request.getParameter("Bt");
        q=Integer.parseInt(qno);
    }
   if(request.getParameter("markBt")!=null)
    {
        qno=request.getParameter("markBt");
        q=Integer.parseInt(qno);
        mq=q;
        q++;
    }
   if(request.getParameter("unmarkBt")!=null)
    {
        qno=request.getParameter("unmarkBt");
        q=Integer.parseInt(qno);
        umq=q;
    }
   if(request.getParameter("saveBt")!=null)
    {
        qno=request.getParameter("saveBt");
        q=Integer.parseInt(qno);
        mq=q;
        q++;
    }
    qno=""+q;

    try
    {
        out.println("<script src=\"myScript.js\"></script>");

        out.println("<form action=\"page1\" method=\"POST\">");

        out.println("<input type=\"hidden\" name=\"markBt\" />");
        out.println("<label>");
        out.println("<br /><input type=\"submit\" name=\"button\" value=\"Marks For Review & Next\" id=\"mark\" onclick=\"setColor(b"+qno+",'#fff200');this.form.markBt.value="+qno+";this.form.action='page1?flag=1&act=1';this.form.submit();\" />");
        out.println("</label>");

        out.println("<input type=\"hidden\" name=\"unmarkBt\" />");
        out.println("<label>");
        out.println(" <input type=\"submit\" name=\"button\" value=\"Unmarks For Review & Next\" id=\"unmark\" onclick=\"setColor(b"+qno+",'#fff200');this.form.unmarkBt.value="+qno+";this.form.action='page1?flag=1&act=1';this.form.submit();\" />");
        out.println("</label>");

        out.println("<input type=\"hidden\" name=\"saveBt\" />");
        out.println("<label>");
        out.println(" <input type=\"reset\" value=\"Clear Response\" /> <input type=\"submit\" name=\"button\" value=\"Save & Next\" id=\"save\" onclick=\"this.form.saveBt.value="+qno+";this.form.action='page1?flag=1&act=1';this.form.submit();\" />");
        out.println("</label>");

        out.println("</form>");

    out.println("<h1>qno="+q+"</h1>");
        out.println("<h1>qno="+mq+"</h1>");
        out.println("<h1>qno="+umq+"</h1>");
    out.println("<h1>qno="+qno+"</h1>");

        out.println(" </body>");
        out.println("</html>");

    }
    finally
    {

    }
  }
 }

如果要传递变量的值可以做任何人都可以帮助,请提前感谢

2 个答案:

答案 0 :(得分:0)

尝试比较空字符串(“”),如果它不起作用请为#number格式异常提供堆栈跟踪 例:- ! “”。等于(VAR)

答案 1 :(得分:0)

你应该编写单独的html代码,在jsp中编写html代码,在servlet中编写逻辑。然后你就不能得到NumberFormatException。