代码有什么问题。我正在使用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);
答案 0 :(得分:0)
如果我没看错,对不起,对不起,您永远不会在您的if块之一中奔跑。您的变量period_in_years
,period_in_years5
和period_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
。