我的html是在不使用spring taglib的情况下构建的,现在我想将表单的参数绑定到控制器中的对象。

目前我的表格看起来像这样

<form>
<input type="text" name="frAccUserMgmt.userName"/>
<input type="password" name="frAccUserMgmt.userPwd"/>
</form>


我对象的相关部分是

Class FrAccUserMgmt {
    private String userName;
    private Strint userPwd;
    // getter and setter
}


我的控制器是

@RequestMapping("login")
Public ModelAndView doLogin(FrAccUserMgmt frAccUserMgmt) {
    //code
}


我该如何绑定它。目前,绑定尚未发生。我只是在代码中得到一个空对象。

最佳答案

您可以尝试在方法签名中包括BindingResult类,然后查看是否存在任何绑定错误:

@RequestMapping("login")
Public ModelAndView doLogin(FrAccUserMgmt frAccUserMgmt, BindingResult result) {
    if (result.hasErrors()) {
        logger.warn("BindingResult errors: " + result.toString());
    }
    //code
}


从表单字段名称中删除frAccUserMgmt部分。 Spring将根据命令对象中定义的getter和setters自动找到命令对象以绑定请求参数。

关于spring - 不使用Spring Taglib进行数据绑定(bind),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11603619/

10-10 16:30