spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,@ResponseBody Object, String, void。下面将对具体的一一进行说明:
1 string 直接返回跳转页面路径(注备不加文件扩展名,一般在配置文件中设置文件后缀)
其中返回路径中加
redirect:前缀表示页面重定向如要为面重定向加入参数需要引用RedirectAttributes对象重定向传参
public String save(@ModelAttribute("group") Group group, RedirectAttributes redirectAttributes) {
accountManager.saveGroup(group);
redirectAttributes.addFlashAttribute("参数名", "参数值");
return "redirect:/account/group/";
}
2 Model, ModelMap, Map相关当于 request.setAttribute 法方 一般结合返回String使用,声明可一直写的方法参数中如
@RequestMapping(value={"/edit"}, method={org.springframework.web.bind.annotation.RequestMethod.GET})
public String edit(Long id, ModelMap model)
3 ModelAndView :
@RequestMapping("/show1")
public ModelAndView show1(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView mav= new ModelAndView("返回文件路径");
mav.addObject("返回值名称",返回值);
return mav;
}
通过ModelAndView构造方法可以指定返回的页面名称,也可以通过setViewName()方法跳转到指定的页面 ,
使用addObject()设置需要返回的值,addObject()有几个不同参数的方法,可以默认和指定返回对象的名字。
5 void:如果返回值为空,则响应的视图页面对应为访问地址 具体实现可通HttpServletResponse再在处理
6 @ResponseBody :将内容或对象作为 HTTP 响应正文返回。,并调用适合HttpMessageConverter的Adapter转换对象,写入输出流。(超级不好用建意通过HttpServletResponse自己定义实现相关输出直观明了)
分享到:
相关推荐
关于拦截器,在Spring MVC中,拦截器是一种动态拦截处理请求的方法,可以用来进行请求预处理和后处理。拦截器的实现通常需要实现HandlerInterceptor接口,并通过实现其三个方法:preHandle、postHandle和...
4. `webapp/WEB-INF`:Web应用的目录结构,可能包含`web.xml`(尽管在Spring Boot项目中通常是可选的)和其他静态资源。 通过学习这个项目,开发者可以了解到如何利用Java配置和注解实现SSM框架的整合,理解各个...
本文将详细解析Spring MVC Controller支持的多种返回值类型,以及它们各自的用法。 1. ModelAndView `ModelAndView`是Spring MVC提供的一种组合模型数据和视图的类。它允许开发者同时指定视图名称和模型数据。例如...
16. 控制器类中请求处理方法的参数和返回结果:每一个请求处理方法都可以有多种类型的参数,以及多个不同类型的返回结果。 17. Spring 框架的组合注解:从 4.3 版本开始,引入了组合注解,来帮助简化常用的 HTTP ...
- 返回值可选类型多样,可以是ModelAndView、String、void、自定义对象等,Spring MVC会根据返回值类型自动进行视图渲染或数据处理。 7. **@Cacheable**和**@CacheFlush**:这两个注解用于缓存管理。`@Cacheable`...
1. **模块化**:Spring 3.0引入了模块化设计,将框架拆分为多个可选模块,便于按需引入,降低了应用的体积和启动时间。 2. **注解支持增强**:Spring 3.0大大增强了对Java注解的支持,如`@Autowired`用于自动装配...
在这个例子中,`key`参数是必需的,而`key2`参数则是可选的,如果未提供,它将使用默认值`defaultValue`。 `@PathVariable`注解用于获取URL模板中的动态部分,这些部分由大括号`{}`包围。例如: ```java @...
`@RequestParam`用于从请求参数中获取值,`Optional`用于处理可选参数。 5. **处理模型和视图** Controller方法的返回值可以是ModelAndView对象,包含模型数据和视图名称,或者直接返回模型数据,Spring会自动将...
6. `@RequestParam(value="paramName", required=false)`:`required=false`表示参数可选,如果请求中没有此参数,Spring MVC不会抛出异常。 7. `@ModelAttribute`:主要用于将请求参数绑定到Java对象,通常与表单...
- JWT(JSON Web Tokens):可选的身份验证机制,用于生成安全的令牌。 8. **测试**: - Spring Boot测试支持:@SpringBootTest、@WebMvcTest等注解用于不同层次的测试。 - MockMVC:模拟MVC层,进行单元测试。 ...
`WebMvcConfigurer`接口定义了多个可选的方法,这些方法可以被实现类覆盖来定制Spring MVC的行为。接下来,我们将详细介绍这些方法的功能及用法。 #### 三、方法解析 1. **`configurePathMatch`**: - **功能**:...
<context:component-scan base-package="com.github.jweixin.jwx.weixin.service" />是可选配置,但里面封装了微信接口服务类,建议一定要配置进spring配置文件中。 1、微信接口服务 微信接口服务类位于...
它的最新版本DWR0.6添加许多特性如:支持Dom Trees的自动配置,支持Spring(JavaScript远程调用spring bean),更好浏览器支持,还支持一个可选的commons-logging日记操作. 其大概开发过程如下: 1.编写业务代码,该...
`<#include filename>`引入指定的FTL文件,可选参数`options`用于设置编码和解析方式。例如: ```html <h1>Some text<#include "common/copyright.ftl" parse=false encoding="UTF-8"></h1> ``` 4. **其他常用...
Hibernate还提供了缓存机制,包括一级缓存(SessionFactory级别的缓存,每个Session操作的对象会缓存在此)和二级缓存(可选,用于跨Session共享数据,可以使用第三方缓存实现如EhCache)。 【Hibernate优化策略】 ...
### Struts2与Spring的...Struts2与Spring的集成不仅增强了应用的灵活性和可扩展性,还简化了代码的管理和维护。通过上述知识点的学习,开发者可以更好地掌握Struts2的高级特性,并在实际项目中有效地利用这些技术。
3. **设置请求头**(可选):通过`setRequestHeader()`方法,可以设置请求头信息,如Content-Type。 4. **发送请求**:使用`send()`方法发送请求,GET请求通常不需传递参数,POST请求则需将数据作为参数传入。 5. **...
这个注解支持一个可选的属性`value`,该属性类型为`String`,用来指定绑定到Model对象上的属性名称。如果未指定,则默认使用方法名作为属性名。 #### 二、`@ModelAttribute`的执行时机 一个关键点需要注意的是,当...
- **零配置**:默认设置符合最佳实践,提供可选的配置选项。 - **无依赖**:除了Servlet外,不依赖其他类库,降低依赖风险。 - **多层次拦截器**:Action、Controller和Global级别,增强控制流。 - **多样化...