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);
解决方案
请应用
period_in_years5.isEmpty()
检查而不是
period_in_years5==null
检查表单参数是否始终存在。
最佳验证方式:period_in_years5==null || period_in_years5.isEmpty()
这是因为如果您的参数存在,那么 request.getParameter("param_name") 将返回空字符串而不是null
.
推荐阅读
- c# - 如何修复 ListView.LargeImageList 显示图像两次
- elasticsearch - 计算来自多个条件的命中
- sql - 使用 select with cast 进行时间计算
- apache-spark - 由于 AM Container,应用程序失败 2 次,退出代码为 -104
- mysql - 如何为 AWS RDS 加载数据 infile mysql 工作台?
- c++ - SWIG:std/multimap.i 似乎因 Tcl 包装而损坏
- docker - 无法在 Dockerfile 中替换 nginx 环境变量
- json - JsonResult 将日期和时间编码为 UTC ......如何避免这种情况?
- python - 如何枚举任意深度的 n 叉树中每个元素的路径
- autodesk-forge - 如何从 BIM 360“计划”文件夹访问文件的“标题”