springmvc之视图解析流程

在springmvc.xml配置文件中配置了将逻辑视图转换成物理视图:

<!-- 配置视图解析器:如何把handler返回值解析为实际的物理视图 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/views/"></property>
        <property name="suffix" value=".jsp"></property>
    </bean>

在java中:

@RequestMapping("/springmvc")
@Controller
public class SpringmvcTest {
    private static final String SUCCESS = "success";
    @RequestMapping("/test")
    public String test() {
        System.out.println("RequestmMapping");
        return SUCCESS;
    }
}

那么最终在index.jsp页面

<a href="springmvc/test">test</a>

发送请求地址为/springmvc/test时,会返回SUCCESS。而前面的视图配置会将SUCCESS转换为/WEB-INF/views/success.jsp。

那么springmvc是如何进行处理的呢?

请求处理方法返回值类型一般可以有三种:

  • String
  • ModelAndView
  • View

无论是哪一种,springmvc都会将其装配成ModelAndView。然后通过ViewResolver得到最终的视图对象,最终的视图可以是jsp、excel等各种表示形式的视图。

相关推荐