Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring bean name';的BindingResult或普通目标对象;emlpoyee';可用作请求属性_Spring_Jsp_Spring Mvc_Jstl_Illegalstateexception - Fatal编程技术网

Spring bean name';的BindingResult或普通目标对象;emlpoyee';可用作请求属性

Spring bean name';的BindingResult或普通目标对象;emlpoyee';可用作请求属性,spring,jsp,spring-mvc,jstl,illegalstateexception,Spring,Jsp,Spring Mvc,Jstl,Illegalstateexception,我知道,类似的问题在这里被提了好几次,但是所有这些帖子都没有帮助我,我仍然无法解决它 这是我的控制器的一部分: @RequestMapping("/contacts") @Controller public class ContactController { final Logger logger = LoggerFactory.getLogger(ContactController.class); @Autowired private ContactService contactSer

我知道,类似的问题在这里被提了好几次,但是所有这些帖子都没有帮助我,我仍然无法解决它

这是我的控制器的一部分:

@RequestMapping("/contacts") 
@Controller 
public class ContactController {
final Logger logger = LoggerFactory.getLogger(ContactController.class); 

@Autowired
private ContactService contactService;

@Autowired 
MessageSource messageSource;

@RequestMapping(value = "/{id}", params = "form", method = RequestMethod.GET) 
public String updateForm(@PathVariable ("id") Long id, Model uiModel) { 
    uiModel.addAttribute("employee", employeeService.findById(id)); 
    logger.info("Updating employee form, id: " + id);       

    return "staff/update";
}

@RequestMapping(value = "/{id}", params = "form", method = RequestMethod.POST) 
public String update(@ModelAttribute("employee") Employee employee, BindingResult  bindingResult, Model uiModel, HttpServletRequest httpServletRequest, RedirectAttributes redirectAttributes, Locale locale) { 

logger.info("Updating employee");
if (bindingResult.hasErrors()) { 
    uiModel.addAttribute("message", new Message("error", messageSource.getMessage("employee_save_fail", new Object[]{}, locale))); 
uiModel.addAttribute("employee", employee);

return "staff/update"; 
}

uiModel.asMap().clear(); 
redirectAttributes.addFlashAttribute("message", new Message("success", messageSource.getMessage("employee_save_success", new Object[]{}, locale)));
employeeService.update(employee); 

return "redirect:/staff/" + UrlUtil.encodeUrlPathSegment(employee.getId().toString(), httpServletRequest); 
}
以下是my edit.jspx的一部分:

<form:form modelAttribute="emlpoyee" id="employeeUpdateForm" method="post">
    <c:if test="${not empty message}"> 
        <div id="message" class="${message.type}">${message.message}</div> 
    </c:if> 

    <form:hidden path="firstName" />
    <form:hidden path="lastName" /> 
    <form:hidden path="salary" /> 
    <form:hidden path="birthDate" /> 
    <form:hidden path="departmentId" /> 
    <form:hidden path="active" /> 

    <button type="submit">Save</button>
        <button type="reset">Reset</button>
</form:form> 

${message.message}
拯救
重置
不管放在哪里,形式是:输入路径=。。。。或形式:标签路径=。。。。标记,结果将是相同的:(

补充类Message和UrlUtil简单明了。 Employee类具有所有必需的getter和setter,并且它们具有正确的名称和签名

updateForm方法工作得很好

当我评论所有这些表单:隐藏标签时,它开始正常工作,我得到的屏幕上有两个按钮…但实际上我需要有大量的输入


我将非常感谢您的帮助。

谢谢您TrueDub!!!您为我节省了很多时间。这一切都是由于缺乏关注。我想我会发疯的。
<form:form modelAttribute="emlpoyee"
<form:form modelAttribute="employee"