【问题标题】:HTTP Status 400 - Required String parameter 'userid' is not presentHTTP 状态 400 - 必需的字符串参数 'userid' 不存在
【发布时间】:2018-03-30 11:26:50
【问题描述】:

我在登录页面尝试了这段代码,但出现上述错误,我是 spring 新手,请帮助我。

@Controller
@RequestMapping("/login")

public class LoginController {

    @Autowired
    private LoginService loginser;

    @RequestMapping("/loginadmin")
    public String loginAdmin() {

        return "loginadmin";
    }

    @RequestMapping("/loginemployee")
    public String loginEmployee() {

        return "loginemployee";
    }

    @RequestMapping("/adminvalidate")
    public @ResponseBody String validateAdmin(@RequestParam(value="userid") String userid, @RequestParam(value="password") String password) {
        String result = loginser.validate(userid, password);
        if (result.equals("pass")) {
            return "redirect:/admin/view";
        }
        return "error";
    }

}

ui

<div id="wrapper">
    <div id="header">
        <h1>Admin Login</h1>
    </div>
</div>

<div id="container">
    <div id="content">

        <form:form action="adminvalidate" 
            method="POST">

            <table>
                <tbody>
                    <tr>
                        <td><label>User-Id : </label></td>
                        <td><input type="text" path="emp_Id" placeholder="User Id" id="userid"/></td>
                    </tr>
                    <tr>
                        <td><label>Password : </label></td>
                        <td><input type="password" path="emp_firstname" placeholder="Password" id="password"/></td>
                    </tr>
                    <tr>
                        <td><label></label></td>
                        <td><input type="submit" value="login"></td>
                    </tr>

                </tbody>
            </table>

                    <input type="button" value="back" onclick="window.location.href='/';return false">


        </form:form>

    </div>
</div>

我需要为登录页面编写代码来检查凭据并收到 400 错误

【问题讨论】:

  • 请勿张贴代码图片。您有将其粘贴到此处的工具,它将为您格式化。如果有人试图重现您的错误以进行调试,他们将不得不自己编写整个代码并附上图片作为参考。不太可能有人会这样做。

标签: java hibernate spring-mvc


【解决方案1】:

由于你放的是图片而不是代码,我看不到你的整个代码,

根据您的问题,原因是userid参数没有传递给您的控制器方法,请检查您是否设置了用户ID输入元素的名称如下:

<input type='text' name='userid' path='emp_id'>

避免此问题的另一种可能方法是在控制器方法中设置required=false

public @ResponseBOdy String validateAdmin(@RequestParam(value="userid",required=false)){
}

【讨论】:

    【解决方案2】:

    当服务器由于语法无效而无法处理客户端发送的请求时,会出现 400 错误。检查您的 URL 语法,并且您没有在控制器中提供方法名称 Like POST

    【讨论】:

      猜你喜欢
      • 2015-02-12
      • 2018-05-10
      • 1970-01-01
      • 2013-08-01
      • 2015-02-12
      • 2023-03-23
      • 1970-01-01
      • 1970-01-01
      • 2019-09-23
      相关资源
      最近更新 更多