欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于@RestController和@Controller 博客分类: Spring4.X spring 

程序员文章站 2024-02-10 12:13:28
...
为了方便REST开发,Spring引入了@RestController注解,该注解已经标注了@ResponseBody和@Controller,源码如下:

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Controller
@ResponseBody
public @interface RestController {
    String value() default "";
}


最近遇见个问题,使用@RestController注解控制器后,发现控制器中的方法无法返回jsp页面,返回的是String,例如return "user/showUser";期望的应该是返回showUser.jsp,但实际上返回的就是实打实的String字符串"user/showUser".这说明视图解析器没启作用。
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"
          p:prefix="/WEB-INF/views/"
          p:suffix=".jsp"/>


最后只能使用@Controller来配合视图解析器来返回指定页面。

所以如果需要返回JSON,XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
相关标签: spring