Java Servlet中request.getParameter获取表单参数返回null问题求助
核心问题定位
参数返回null的根源是HTML表单的input标签属性配置错误,不符合表单提交规则:
- 浏览器提交表单的逻辑是,仅将带有
name属性的表单元素的输入值,按照name=输入值的格式组装为请求参数传递给后端;单独设置value属性仅会为输入框配置默认展示内容,不会被识别为可提交的参数名。 - 你当前的两个文本输入框仅配置了
value="fname"、value="lname",没有给input添加对应参数名的name属性,后端自然无法匹配到请求中的fname、lname参数,最终返回null。
修复方案
修改两个文本输入框的标签代码,补充和后端参数名完全一致的name属性即可:
<!-- 错误的原代码 --> Enter FirstName: <input type="text" value="fname"> Enter LastName: <input type="text" value="lname"> <!-- 修改后的正确代码 --> Enter FirstName: <input type="text" name="fname"> Enter LastName: <input type="text" name="lname">
如果需要为输入框设置默认提示占位内容,可以在保留name属性的前提下搭配placeholder属性实现;若需要设置默认填充值,也可以直接保留value属性,只要不缺失name属性、且name值和后端getParameter传入的字符串完全匹配,就能正常获取到参数值。
内容的提问来源于stack exchange,提问作者srgent
相关产品推荐
相关产品推荐

