@ModelAttribute("types")
public Collection<PetType> populatePetTypes(){
return this.clinie.getPetTypes();
}
这段代码,一看就知道是为表单提供一个petType列表,供下拉列表使用(spring的例子)。
但这个@ModelAttribute可有问题,它可不管你请求方式是GET还是POST都,其都会被调用。我们都知道这个pettypes就是为表单使用下拉列表使用的,在post提交时有什么用呀,提交成功一般情况下都要转换到其它页面,这个方法还要被执行,毫无用处。
最好还是不要使用方法级的@ModelAttribute了.
如果要实现同样的目的,可以定义一个方法
public String showForm(Model model){
model.addAttribute("types",this.clinie.getPetTypes());
return viewName;
}
让setupForm最后时调用showForm返回。
让processSubmit方法验证出错,需要返回原表单时,调用showForm返回.
分享到:
相关推荐
在Spring 2.5中,你可以通过在类或方法上添加注解来定义一个Controller。例如,使用`@Controller`注解标记一个类,表明这个类是一个处理HTTP请求的Controller。这样,你不再需要让Controller实现特定的接口或者在XML...
在 Spring 2.5 版本中,Spring MVC 带来了革命性的变化,引入了注解驱动的功能,极大地简化了开发流程,提高了开发效率。本文将深入探讨这些注解的使用,帮助开发者理解如何利用注解配置替代传统的基于 XML 的 ...
10. **Web应用上下文**:Spring 2.5中的WebApplicationContext允许在Web环境中管理和共享bean,同时提供了与Servlet容器的集成,如`DispatcherServlet`,它是Spring MVC的核心。 这个简明教程将深入浅出地介绍这些...
Spring 2.5 是 Spring 框架的一个重要版本,发布于2007年,它带来了许多增强和新特性,极大地提升了开发者的生产力。在这个版本中,Spring 对 IoC(控制反转)和 AOP(面向切面编程)的支持更加完善,同时也引入了对...
Spring框架在2.5版本引入了对注解的广泛支持,这一特性在后续的3.0版本中得到了进一步增强,并且成为了Spring应用的核心部分。注解的使用极大地简化了Spring配置,提高了代码的可读性和可维护性。下面将详细介绍其中...
Spring作为一个广泛应用的Java企业级应用框架,其2.5版本在许多方面进行了改进和增强,这些改进对提升开发效率和应用程序的稳定性有着显著的作用。 1. **IoC(Inversion of Control)容器**:Spring 2.5中的IoC容器...
4. **@ModelAttribute**:用于将方法返回值或参数绑定到模型属性上,可以在方法签名前使用。 #### 示例分析 以下是一个使用注解的Controller示例——`BbtForumController`: ```java package com.baobaotao.web; ...
Spring框架作为Java企业级开发中广泛使用的框架之一,自Spring2.0以来就对其MVC框架进行了重大的升级,到了Spring2.5版本更是引入了注解驱动的功能。这意味着开发者不再需要让Controller继承特定的接口或者在XML配置...
至于Portlet MVC,它是Spring MVC的一个扩展,专为portlet应用设计。portlet应用常在门户服务器中运行,如Liferay或WebSphere Portal。Portlet MVC主要特性包括: 1. **portlet生命周期**:portlet有初始化、渲染、...
在 Spring 2.5 版本中,这个框架已经相当成熟,为开发者提供了强大的功能和灵活的配置选项。 ### 1. MVC 模式 模型-视图-控制器模式是软件设计中的一个经典架构模式,它将应用程序逻辑分离开来,提高了代码的可...
- Spring 2.5的Web MVC框架有重大改进,包括注解驱动的控制器(`@Controller`),模型属性绑定(`@ModelAttribute`),以及视图解析策略等。 10. **测试支持**: - 强大的测试框架,如`@ContextConfiguration`、`...
启用Spring MVC的注解功能,需要配置`<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">`,这使得Spring MVC能够处理注解方法,将HTTP请求映射到注解的控制器类上。...
2. **@ModelAttribute**:此注解常用于控制器方法参数中,它会从请求中获取数据并将其绑定到模型属性上,或者在返回视图之前将对象添加到模型中。 3. **@RequestMapping**:除了在类级别上使用外,还可以在方法级别...
### Spring2.5与3.0注解详解 在探讨Spring框架中注解的应用之前,我们首先需要理解注解在Java编程语言中的基础概念。注解是Java SE 5引入的一种元数据机制,用于在代码中嵌入元数据,而Spring框架充分利用了这一...
6. **自动扫描和组件发现**:在Spring 2.5中,你可以通过设置`<context:component-scan>`标签启用组件扫描,让Spring自动发现并注册带有注解的类,包括`@Controller`、`@Service`、`@Repository`等。 7. **简化视图...
@ModelAttribute 注解用于将请求参数绑定到方法参数,而 @Valid 注解配合 Validation API 可以进行数据校验。 9. **RESTful 风格**:项目中可能会包含 RESTful 风格的 URL 设计,使用 HTTP 方法(GET、POST、PUT、...
pring 容器管理的 Bean,而在这里,@Controller 注解的作用是标识该类是一个 MVC 控制器,使得 Spring MVC 框架能够识别并处理它。@RequestMapping 注解则用于映射 HTTP 请求到特定的方法,这里它匹配 "/forum.do" ...
事务管理是企业级应用的核心部分,Spring 2.5.5提供了声明式和编程式的事务管理。声明式事务管理通过配置或注解来控制事务的边界,如`@Transactional`,而编程式事务管理则通过TransactionTemplate或...
org.springframework.web.bind.annotation.ModelAttribute.class org.springframework.web.bind.annotation.RequestMapping.class org.springframework.web.bind.annotation.RequestMethod.class org.spring...