spring-webmvc-5.2.2错误org.springframework.web.servlet.tags.form.HiddenInputTag-既不是BindingResult也不是普通目标对象

问题描述

我知道在我之前有几个与此类似的问题,但是相信我,我一直在尝试所有这些问题,但似乎没有任何效果。因此,请您调查一下我的代码,并告诉我缺少了什么?我在这放松我的神经!我是Spring的新手,正在使用spring-webmvc-5.2.2。当我运行应用程序时,出现此错误

13:18:55.677 [http-nio-8080-exec-10]错误org.springframework.web.servlet.tags.form.HiddenInputTag-BeanResult'planificacion'的BindingResult或普通目标对象都不能用作请求属性 java.lang.IllegalStateException:Bean名称“ planificacion”的BindingResult和普通目标对象都不能用作请求属性

这是我的home.jsp文件

<%@ include file="/WEB-INF/views/commons/libraries.jsp" %>
<script src="<%=request.getcontextpath()%>/resources/misc/filesize.min.js"></script>
<div class="main mt-3">
    <section id="module-app">
        <div class="container">
            <div class="card ">
                <div class="card-header">
                    <h6 class="card-title"><i class="fa fa-tasks"></i>
                        &nbsp;<spring:message code="msg.planificacion.administracion"/>
                    </h6>
                </div>
                <div class="card-body">
                    <!-- FORMULARIO -->
                    <form:form id="editPlanificacionForm" name="editPlanificacionForm" method="post" action="${pageContext.request.contextpath}/planificacion/edit" modelattribute="planificacion">
                        <form:hidden path="tempKey" value="${tempKey}" />
                        <fieldset>
                            <div class="row">
                                <div class="col-md-4">
                                    <div class="form-group">
                                        <label class="font-weight-bold"><spring:message
                                                code="msg.planificacion.administracion.usuario"/></label>
                                        <div class="input-group">
                                            <form:input type="text" class="form-control" id="run" name="run" path="run"></form:input>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="form-group">
                                        <label class="font-weight-bold"><spring:message
                                                code="msg.planificacion.administracion.contratos"/></label>
                                        <div class="controls">
                                            <form:select id="contratoId" class="form-control" path="contratoId">
                                                <form:option value="NONE">SELECCIONE</form:option>
                                                <form:options itemValue="id" itemLabel="descripcion" items="${contratosPlanificacion.labelContrato}"></form:options>
                                            </form:select>
                                        </div>
                                    </div>
                                </div>
                                <div class="col-md-4">
                                    <div class="form-group">
                                        <label class="font-weight-bold"><spring:message
                                                code="msg.planificacion.administracion.plantillas"/></label>
                                        <div class="controls">
                                            <form:select id="plantillaId" class="form-control" path="plantillaId">
                                                <form:option value="NONE">SELECCIONE</form:option>
                                                <form:options itemValue="id" itemLabel="descripcion" items="${plantillasPlanificacion.nombre}"></form:options>
                                            </form:select>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="row">
                                <div class="col-md-12">
                                    <label class="font-weight-bold"><spring:message
                                            code="msg.planificacion.administracion.programas"/></label>
                                    <div class="form-group form-group-Feedback form-group-Feedback-left">
                                        <form:select id="programaId" class="form-control" path="programaId">
                                            <form:option value="-1">SELECCIONE</form:option>
                                            <form:options itemValue="id" itemLabel="direccion"
                                                          items="${programasPlanificacion.nombre}"></form:options>
                                            <form:option value="-2">Nuevo Programa</form:option>
                                        </form:select>
                                        <div class="form-control-Feedback form-control-Feedback-lg">
                                            <i class="fa fa-address-card"></i>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </fieldset>
                    </form:form>
                </div>
                <div class="card-footer">
                    <div class="modal-footer">
                        <c:if test="${ urlTo eq Constants.PERFIL_ADMIN}">
                            <a href="<%=request.getcontextpath()%>/admin/home" class="btn btn-default" data-dismiss="modal">
                                <spring:message code="btn.cancel"/>
                            </a>
                        </c:if>
                        <c:if test="${ urlTo eq Constants.PERFIL_USUARIO }">
                            <a href="<%=request.getcontextpath()%>/lod/home" class="btn btn-default" data-dismiss="modal">
                                <spring:message code="btn.cancel"/>
                            </a>
                        </c:if>
                        <button type="button" id="btnSubmit" class="btn btn-primary"
                                data-loading-text="<i class='fa fa-spinner fa-spin '></i>">
                            <spring:message code="planificacion.administracion.btnCancelar"/>
                        </button>
                    </div>
                </div>
            </div>
        </div>
    </section>
</div>
<script src="<c:url value='/resources/bs4/vendors/js/jquery.validate.min.js'/>"></script>
<script src="<c:url value='/resources/v3/assets/js/custom/commonsValidator.js'/>"></script>
<script src="<c:url value='/resources/venturi/validate_messages_es.js'/>"></script>
<script src="<c:url value='/resources/venturi/validate_rut.js'/>"></script>

这是我的PlanificacionController

 @Controller
@RequestMapping("/admin")
public class PlanificacionController extends BaseController{

    @Autowired ContratoService contratoService;
    @Autowired PlannerService plannerService;

    @PreAuthorize("hasAuthority('planificacion.admin')")
    @GetMapping("/planificacion/home")
    public String home(@modelattribute("planificacion") Planificacion planificacion,ModelMap model) {
        Usuario usuario = getUsuario();
        if (usuario.getPerfiles().contains(Constants.PERFIL_USUARIO)) { //Todo: fix Y el else?
            model.addAttribute("urlTo",Constants.PERFIL_USUARIO);
        } else if (usuario.getPerfiles().contains(Constants.PERFIL_ADMIN)) {
            model.addAttribute("urlTo",Constants.PERFIL_ADMIN);
        }
        model.addAttribute("contratosPlanificacion",contratoService.getAllContratos());
        model.addAttribute("plantillasPlanificacion",plannerService.getAllPlantilla());
        return "admin/planificacion";
    }

    @PostMapping("/planificacion/edit")
    public String updatePlanificacion(@modelattribute("planificacion") Planificacion planificacion,ModelMap model) {
        return "redirect:/persona/getInfo";
    }

有人可以帮我这个忙吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)