控制器返回String
控制器方法返回String类型,表示返回逻辑视图名称,由视图解析器解析。
直接返回视图名
返回字符串作为视图名,结合视图解析器配置跳转。
Java
@Controller
public class DemoController {
@RequestMapping("/hello")
public String hello() {
return "success"; // 跳转到 /WEB-INF/pages/success.jsp
}
}
视图解析器配置:
XML
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>
转发
使用forward前缀实现转发:
Java
@RequestMapping("/forward")
public String forward() {
return "forward:/WEB-INF/pages/success.jsp";
}
重定向
使用redirect前缀实现重定向:
Java
@RequestMapping("/redirect")
public String redirect() {
return "redirect:/index.jsp";
}
三种方式对比
| 返回形式 | 视图解析器 | 特点 |
|---|---|---|
| 视图名 | 生效 | 常用方式,自动拼接前后缀 |
| forward: | 不生效 | 服务器内部转发 |
| redirect: | 不生效 | 客户端重定向 |
返回视图名时,视图解析器自动拼接prefix + 视图名 + suffix。
要点总结
- 直接返回字符串:视图解析器自动拼接前后缀
- forward:前缀:转发,不经过视图解析器
- redirect:前缀:重定向,不经过视图解析器
📝 发现内容有误?点击此处直接编辑