在springmvc.xml配置文件中配置了将逻辑视图转换成物理视图:
代码语言:javascript复制 <!-- 配置视图解析器:如何把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中:
代码语言:javascript复制@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页面
代码语言:javascript复制 <a href="springmvc/test">test</a>
发送请求地址为/springmvc/test时,会返回SUCCESS。而前面的视图配置会将SUCCESS转换为/WEB-INF/views/success.jsp。
那么springmvc是如何进行处理的呢?
请求处理方法返回值类型一般可以有三种:
- String
- ModelAndView
- View
无论是哪一种,springmvc都会将其装配成ModelAndView。然后通过ViewResolver得到最终的视图对象,最终的视图可以是jsp、excel等各种表示形式的视图。