如何在jsp中获取form的值

时间:2018-09-24 11:39:56

标签: java jsp

代码有什么问题。我正在使用request.getParameter从jsp上的表单获取值。第1,2,3行的request.getParameter已成功从表单中获取值。但我最后得到的是期间0的值。

        int period=0;

   String period_in_years = request.getParameter("tenure");
String period_in_years5 = request.getParameter("tenure5");
    String period_in_years6 = request.getParameter("tenure6");

 /*line1--*/System.out.println("value in string tenure is="+period_in_years);
 /*line2--*/System.out.println("value in string tenure5 is="+period_in_years5);
 /*line3--*/System.out.println("value in string tenure6 is="+period_in_years6);
    if( period_in_years5==null && period_in_years6==null && period_in_years!=null )
    {
        period=0;

         period = Integer.parseInt(period_in_years);
        System.out.print("period1 at jsp="+period);
        period_in_years5="";
        period_in_years6="";

    }else if( period_in_years==null && period_in_years6==null && period_in_years5!=null)
        {
            period=0;
            period = Integer.parseInt(period_in_years5);
            System.out.print("period5 at jsp="+period);
            period_in_years="";
            period_in_years6="";
     }else if(period_in_years==null && period_in_years5==null && period_in_years6!=null)
     {
         period=0; 
         period = Integer.parseInt(period_in_years6);
        System.out.print("period6 at jsp="+period);
        period_in_years="";
        period_in_years5="";

     }
System.out.print("final period in jsp="+period);

2 个答案:

答案 0 :(得分:0)

如果我没看错,对不起,对不起,您永远不会在您的if块之一中奔跑。您的变量period_in_yearsperiod_in_years5period_in_years6不为空。您在代码的开头将period设置为0,此后一直没有更改该值。这就是为什么最后得到0的原因。

答案 1 :(得分:0)

请申请 period_in_years5.isEmpty() 而不是 period_in_years5==null检查form参数是否始终存在。

最佳验证方式: period_in_years5==null || period_in_years5.isEmpty()

这是因为如果您的参数存在,那么request.getParameter(“ param_name”)将返回空字符串,而不是null