MVC:-------------------------M:模型层 V:视图层 C:控制层
实际项目开发中一般都是在controller中书写业务逻辑,通过业务层处理完之后,会返回至相应的视图。java而言的话,即:jsp页面。
这里提供两种方法:
一、 controller中方法直接return至指定文件;
a. 在配置文件中配置相应的bean;
例:如下
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/views" /> //前缀
<property name=“suffix” value=".jsp" /> //后缀
</bean>
如此,便配置了WEB-INF目录下的views文件夹下的所有后缀为.jsp文件的访问方式 。可在controller中直接使用return来进行
视图返回或跳转。
b. 且这种方式必须要保证controller中方法的返回类型是String类型。
例:如下
@RequestMapping("login.do")
public String login(HttpServletReqeust request,HttpServletResponse response,Model model){
model.addAttribute("name","value");
return "/foreground/index.jsp";
}
c. 此时如果需要向视图传递相应的参数。可以使用Model对象来进行值传递。
二、使用xml文件来进行视图映射.
a. 在配置文件中配置相应的bean;
例:如下
<bean class="org.springframework.web.servlet.view.XmlViewResolver">
<property name="location" value="/WEB-INF/spring-views.xml" />
</bean>
b.在controller中使用时只需要new一个ModelAndView对象即可。
例:如下
public ModelAndView index(....){
//创建一个mv对象并指定返回视图。
ModelAndView mv = new ModelAndView("index");
mv.addObject("name","value");
return mv;
}
c.在/web-inf文件夹下建立对应的spring-views.xml文件;
<?xml version="1.0" encoding="UTF-8"?>
//首先需要在该文件中添加必须要有声明。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="index" class="org.springframework.web.servlet.view.JstlView">
<property name="url" value="/foreground/home.jsp" />
</bean>
. </beans>
d. controller中ModelAndView对象指定的视图在spring-views文件中以id名称来作为索引,并找到对应的页面。
且每次使用新页面,都需要在spring-views.xml文件中进行相应的文件布置。
OK。。。