SSM 框架中 Form表单提交 通过request.getParameter("属性名") 获取的结果为null

发布时间 2023-12-26 18:19:40作者: 远山伴痴人

今日换机器引入项目源码之后,项目中表单提交到后台,获取不到参数值

前台代码大致如下

<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的原因,后期如果遇到别的情况再补充!