首页 > 解决方案 > 如何在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);

标签: javajsp

解决方案


请应用 period_in_years5.isEmpty()检查而不是 period_in_years5==null检查表单参数是否始终存在。

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

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


推荐阅读