SSM 框架中 Form表单提交 通过request.getParameter("属性名") 获取的结果为null
今日换机器引入项目源码之后,项目中表单提交到后台,获取不到参数值
前台代码大致如下
<form action="/login" method="post" name="loginForm" id="loginForm"> <div style="width: 382px; height: 376px; padding: 27px 0px; margin: 0px 84px 0px 0px; float: right; vertical-align: top;"> <div style="clear: both; width: 382px; height: 325px; vertical-align: top;"> <table width="382" border="0" cellspacing="0" cellpadding="0"> <tbody> <tr> <td colspan="2"><input type="text" class="yhm" id="name" name="name" placeholder="请输入您的用户名!"></td> </tr> <tr> <td colspan="2" style="padding-top: 18px;"><input type="password" class="mima" id="password" name="password" placeholder="请输入您的密码!"></td> </tr> <tr> <td colspan="2" style="padding-top: 10px;" align="center"><input type="button" onclick="submitForm();return false;"></td> </tr> </tbody> </table> </div> </div> </form>
后台代码大致如下
@RequestMapping(value = "/login", method = RequestMethod.POST) public String login() throws Exception { String username = getParameter("name"); String password = getParameter("assword"); }
//这个方法是封装方法
protected String getParameter(String name) {
return request.getParameter(name);
}
大致排查过程如下
1.form表单中需要传值的参数是否有name属性,很明显有,所以排除此项;
2.java接收代码中,获取的参数名是否和form表单中的name参数一致,经排查是一致的;
3.在浏览器中访问前端页面,F12看下js方法和html是否有乱码,无乱码进行跳过;
4.看一下tomcat服务中的配置文件maxPostSize参数是否为0,可以改为-1或者直接删除,如果改成-1不好使,建议删除,路径为
apache\conf\server.xml,位置为
我这里是0,改成-1不好使,所以直接删除了
至此找到参数值为null的原因,后期如果遇到别的情况再补充!