我们经常需要更新一个实体,这时会有一下两个方法
@RequestMapping(value = "/{id}/edit", method = RequestMethod.GET)
public ModelAndView edit(HttpServletRequest request,
@PathVariable Long id,
@ModelAttribute Member member) {
ModelAndView result = handleModelAndView(EDIT);
Template template = templateServ.load(id);
result.addObject("template", template);
return result;
}
@RequestMapping(value = "/{id}/edit", method = RequestMethod.POST)
public ModelAndView update(HttpServletRequest request,
@PathVariable Long id,
@ModelAttribute("template") @Valid Template template,
BindingResult bindingResult) throws Exception {
if(bindingResult.hasErrors()) {//出现错误
return handleErrors(bindingResult, NEW);
}
ModelAndView result = handleModelAndView(UPDATE);
template = templateServ.load(id);
//这句是关键
bind(request, template);
templateServ.update(template);
return result;
}
但是这个过程当中我发现如果这个实体有一个many-to-one或者one-to-many等实体关联的话,就会丢到这个信息,以至于无法完成更新。
解决方法:
在我的controller中使用的是注释方式,没有继承任何spring的control,但是现在需要继承
MultiActionController
这样,就有了一个bind(HttpServletRequest request, Object ob);的方法。这个方法可以帮助我们从request中绑定我们需要的的实体。
分享到:
相关推荐
Spring MVC 是一个基于Java的轻量级Web应用框架,它为开发者提供了模型-视图-控制器(MVC)架构,使开发人员能够更好地组织和分离应用程序的业务逻辑、数据处理和用户界面。Spring MVC是Spring框架的一个核心组件,...
总的来说,这个个人博客系统结合了Spring MVC的Web开发优势、Mybatis的数据库操作便利性以及Spring的全面企业级特性,提供了一个完整的后端解决方案。对于学习和理解SSM(Spring、SpringMVC、Mybatis)框架集成开发...
在全注解模式下,我们可以利用@Entity、@Table、@Id、@GeneratedValue等注解来定义实体类,@ManyToOne、@OneToMany、@OneToOne、@ManyToMany处理关联关系,@Column、@Temporal等注解来定制字段属性。 在这个视频...
总结,Spring MVC 提供了一套完整的 Web 开发解决方案,通过注解驱动和依赖注入简化了开发流程。通过实例化的增删改查操作,我们可以深入了解其工作原理,并结合源码分析,进一步掌握 Spring MVC 的精髓。
Spring MVC通过注解如@Controller、@RequestMapping等,可以让开发者在方法级别定义请求映射,简化了配置。 Spring框架的核心是依赖注入(Dependency Injection,DI),它允许组件之间通过接口进行协作,而不是硬...
Spring MVC 是一个强大的Java Web开发框架,用于构建高效、可维护的Web应用程序。它与Spring框架紧密结合,提供了模型-视图-控制器(MVC)架构,使得开发人员能够轻松地处理HTTP请求、数据绑定和视图渲染。在这个...
Spring MVC通过注解驱动,能够轻松地将HTTP请求映射到Controller方法,并自动处理参数绑定。而Hibernate则通过SessionFactory和Session接口,提供了一套完整的对象持久化方案。两者结合,可以实现快速开发,同时保证...
富文本编辑器KindEditor在Java实现Spring MVC框架中的应用是一个常见的需求,特别是在开发Web应用程序时,需要用户输入格式丰富的文本内容。这篇文档将详细介绍如何在Spring MVC项目中集成并使用KindEditor。 首先...
Spring MVC 提供了灵活的处理机制,包括处理器映射、视图解析、数据绑定、本地化和主题支持,以及对 RESTful 风格的 URL 支持,使得开发人员可以轻松地创建功能丰富的、高性能的 Web 应用。 ### 1. MVC 架构模式 ...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,专为构建 MVC(Model-View-Controller)架构的应用程序而设计。本示例提供了超简化的、完整的、注解驱动的 Spring MVC 应用程序,...
当表单提交时,Spring MVC会自动将请求参数与Model对象的属性进行绑定。 七、异常处理与国际化 Spring MVC提供了全局和局部的异常处理器,如@ControllerAdvice和@ExceptionHandler,可以统一处理程序中的异常。...
在Spring MVC中,模型通常由Java对象(称为领域对象或实体类)组成,它们持有应用的数据并执行相关的操作。 - **视图(View)**: 视图层负责将处理后的数据展示给用户。Spring MVC支持多种视图技术,如JSP、...
Spring、Spring MVC和MyBatis是Java开发中最常用的三大框架,它们共同构建了一个灵活、高效且易于维护的Web应用程序。这个整合项目展示了如何将这三个框架协同工作,为开发者提供了一个全面理解它们集成方式的实例。...
2. Spring MVC的控制器定义、模型绑定、视图解析,以及处理HTTP请求的方法。 3. MyBatis的配置,SQL映射文件的编写,以及如何通过MyBatis的SqlSession执行SQL语句。 4. 数据库设计和实体类创建,以及它们与MyBatis的...
在这个项目中,Spring MVC负责接收前端请求,调用相应的服务方法,处理业务逻辑后,将数据传回给前端展示。 **Mybatis**:Mybatis是一个持久层框架,它提供了方便的SQL映射功能,允许开发者编写原生SQL语句并与Java...
**Spring MVC —— 第一个应用程序** Spring MVC 是 Spring 框架的一个模块,主要用于构建 Web 应用程序。它提供了一种模型-视图-控制器(MVC)架构,简化了开发过程,使得开发者可以专注于业务逻辑而不必过于关心...
Spring MVC 作为Spring框架的一部分,负责处理HTTP请求,提供MVC(Model-View-Controller)设计模式的支持。Spring框架则是一个全面的企业级应用开发框架,它不仅包括Spring MVC,还提供了依赖注入、AOP(面向切面...
接下来,Spring MVC是Spring框架的一部分,专门用于处理Web请求。它采用模型-视图-控制器(MVC)架构模式,使得业务逻辑、数据和用户界面之间保持分离。通过`@RequestMapping`注解,我们可以将HTTP请求映射到特定的...
在Java开发领域,Spring框架是应用最广泛的轻量级开源框架之一,它为开发者提供了全面的基础设施服务。Spring框架的核心特性可以用来简化新的Java EE应用的开发,而Spring MVC和Spring Data JPA则是Spring框架中的两...
总结起来,这个"spring mvc的一个demo"提供了一个完整的Spring MVC应用实例,涵盖了从请求接收、业务处理到响应返回的整个流程。对于初学者来说,它是学习Spring MVC基本架构和工作方式的绝佳起点。通过研究这个小型...