首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.lang.IllegalStateException:作为请求属性的bean名称的BindingResult或普通目标对象都不可用

java.lang.IllegalStateException:作为请求属性的bean名称的BindingResult或普通目标对象都不可用
EN

Stack Overflow用户
提问于 2018-12-19 07:44:15
回答 1查看 334关注 0票数 1

我试图从spring中从控制器获得的列表中填充一个复选框。Im从服务中获取列表,然后将其作为属性添加到模型中。但是,我发现很难访问它并将其显示为视图中的复选框。所以我在日志中得到了上面的错误,而我没有得到视图。有什么可能出了问题?

控制员:

代码语言:javascript
复制
    @RequestMapping(value = "/user-roles", method = RequestMethod.GET)
    public String viewRoles(Model model) {

    List<Permission> permissionsList;
    permissionsList = roleService.getAllPermission();

    model.addAttribute("permissions", permissionsList);
    return "user_roles";
}

    @RequestMapping(value = "/roles/addrole", method = RequestMethod.POST)
    public ModelAndView saveEmployee(@ModelAttribute("addrole") SystemRole role, ModelMap model) {

    roleService.saveSystemRole(role);
    model.addAttribute("user", new SystemRole());
    return new ModelAndView("user_roles");
}

意见:

代码语言:javascript
复制
           <div class="modal-body">
            <form:form method="post" modelAttribute="addrole" action="/roles/addrole">
                <div class="form-group">
                    <label for="role-name" class="col-form-label">Role Name</label>
                    <input type="text" class="form-control" id="role-name">
                </div>
                <div class="form-group">
                    <label class="col-form-label">Permissions</label>

                    <div class="check-box" style="padding-left: 20px">
                        <c:forEach items="${permissions}" var="oo">
                            <form:checkbox id="${oo.id}" label="${oo.name}" value="${oo.id}" path="permissionList"/>
                        </c:forEach>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
                    <button type="submit" class="btn btn-primary">Submit</button>
                </div>
            </form:form>
        </div>

这是注释复选框表单时的视图:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-19 10:57:01

如果要显示permission字段的复选框,请尝试更改

代码语言:javascript
复制
                    <div class="check-box" style="padding-left: 20px">
                        <c:forEach items="${permissions}" var="oo">
                            <form:checkbox id="${oo.id}" label="${oo.name}" value="${oo.id}" path="permissionList"/>
                        </c:forEach>
                    </div>

代码语言:javascript
复制
 <c:forEach items="${permissions}" var="oo">
  <div class="checkbox">
    <label for="${oo.id}">
      <input type="checkbox" name="checkboxes" id="${oo.id}" value="${oo.id}">
      ${oo.name}
    </label>
  </div>
</c:forEach>

代码语言:javascript
复制
<c:forEach items="${permissions}" var="oo">
    <div class="check-box" style="padding-left: 20px">
       <form:checkbox id="${oo.id}" label="${oo.name}" value="${oo.id}" path="permissionList"/>
    </div>
</c:forEach>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53846644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档