记住密码页面返回时出错400

来源:互联网 发布:windows phone 10小米 编辑:程序博客网 时间:2024/06/11 11:44

问题:在做登录界面时,如果点击“记住密码”进入下一个页面并后退到登录界面,再点击“登录”并且不点击“记住密码”时,
服务器就会报400错误,原因是第二次登录时由于没对“记住密码”做任何操作,所以isAuto返回的值是null,而int型不能接收null值,就会报错。
“解决办法:把接收变量类型改成integer型,它可以接收null值。
建议:以后接收整型数据时没有特殊情况尽量都用integer。

后续:我在另一个工程中用的integer型接收isAuto的值,发现还是出错,就用了另一种解决办法,就是在页面加载的时候就判断记住密码框有没有被选中。

//jsp页面代码<label><input type="checkbox" name="isAuto" id="isAuto" onclick="remember()">记住密码</label><script type="text/javascript">    function remember() {        var isAuto = document.getElementById("isAuto");        if (isAuto.checked == true) {            document.getElementById("isAuto").value = "1";        } else {            document.getElementById("isAuto").value = "0";        }    }</script>//出错时代码public ModelAndView loginIdentify(Model model, HttpSession session,            @RequestParam(value = "isAuto", defaultValue = "0") int isAuto,            String username, String password, HttpServletRequest request,            HttpServletResponse response) throws Exception {...}//正确时代码public ModelAndView loginIdentify(Model model, HttpSession session,            @RequestParam(value = "isAuto", defaultValue = "0") Integer isAuto,            String username, String password, HttpServletRequest request,            HttpServletResponse response) throws Exception {...}
1 0
原创粉丝点击