Spring mvc无法使用表单:选择对象列表

时间:2016-04-24 21:09:11

标签: java spring spring-mvc

当我尝试从控制器渲染一些对象时,我遇到了问题,我有一个角色列表对象,我想在视图中使用spring mvc中的标签呈现为组合框,但有以下问题: 02:57:31,498 ERROR SelectTag - BindingResult和bean名称' role'可用作请求属性 java.lang.IllegalStateException:BindingResult和bean名称' role'都没有普通的目标对象。可用作请求属性     在org.springframework.web.servlet.support.BindStatus。(BindStatus.java:144)     在org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:168)     在org.springframework.web.servlet.tags.form.AbstractDataBoundF

我的控制器看起来像

    @RequestMapping(value = { "/assignFeatureToRole" }, method = RequestMethod.GET)
public String assignFeatureToRole(ModelMap model){
    List<Role> roles = roleAssignerService.findAllRoles();
    model.addAttribute("roles", roles);     
    return "roleWiseFeatureAssignment";
}

我的观点是

<form:select path="role" >
                <form:option value="NONE" label="--- Select ---" />
                <form:options items="${roles}" />
            </form:select>

1 个答案:

答案 0 :(得分:0)

找到解决方案

<form:select path="roles" >
                <form:option value="NONE" label="--- Select ---" />
                <form:options items="${roles}" itemLabel="roleDesc" itemValue="roleId"/>
            </form:select>  

我的错误是我使用path =“role”而不是path =“roles”,它完美渲染。