Java 模型中的视图和视图与视图解析器中的视图
在Spring MVC中,当请求通信时,Java 模型中的视图和视图与视图解析器中的视图,java,spring,spring-mvc,web,Java,Spring,Spring Mvc,Web,在Spring MVC中,当请求通信时,DispatcherServlet指定指示哪个控制器应处理请求的HandlerMapping控制器处理请求并返回具有指定视图的模型 当viewsolver开始工作时,我不知道接下来会发生什么。如果Controller已经指定了View,为什么会有viewsolver层?它实际上做什么?是否应该在控制器之前或与控制器并行指定视图?或者,Controller应该触发viewsolver层?视图解析器将视图名称映射到实际视图。例如: <bean class
DispatcherServlet
指定指示哪个控制器应处理请求的HandlerMapping
<代码>控制器处理请求并返回具有指定视图的模型
当
viewsolver
开始工作时,我不知道接下来会发生什么。如果Controller
已经指定了View
,为什么会有viewsolver
层?它实际上做什么?是否应该在控制器之前或与控制器并行指定视图
?或者,Controller
应该触发viewsolver
层?视图解析器将视图名称映射到实际视图。例如:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"/>
<property name="suffix" value=".jsp"/>
</bean>
ViewResolver将带回家,并将其更改为
home.jsp
,并查看/WEB-INF/views/以加载/WEB-INF/views/home.jsp
,因此只有当您以字符串形式返回视图名称而不是指定的视图时,才会触发ViewResolver层。实际上,在控制器中,每个视图都必须以spring可以解析的方式进行转换。此视图可以是pdf、JSON、html、jsp、xml等。如果不使用ViewResolver,字符串无法告诉spring如何解析这些视图
@RequestMapping("/")
public String home() {
return "home";
}