ModelAndView使用方法


     配置支持ModelAndView

      在application.xml中配置支持ModelAndView,配置方式有两种。

  • 配置一

 

      <bean id="ViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
          <property name="prefix" value="/"></property> <!-- 视图文件的前缀 -->   
          <property name="suffix" value=".jsp"></property> <!-- 视图文件的后缀名 -->   
          <!-- view是用什么显示,这里是jsp,还可以用velocity之类的 -->  
          <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>    
      </bean>  

 

  • 配置二

 

      <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"p:prefix="/WEB-INF/jsp/" p:suffix=".jsp"></bean>

             这种方式需要在beans中添加xmlns:p="http://www.springframework.org/schema/p"的支持。

 

     ModelAndView实现与调用

       ModelAndView的构造方法有以下几种。

 

    ModelAndView()
    ModelAndView(View view)
    ModelAndView(String viewName, Map<String, ?> model)
    ModelAndView(View view, Map<String, ?> model)
    ModelAndView(String viewName, String modelName, Object modelObject)
    ModelAndView(View view, String modelName, Object modelObject)

       ModelAndView预设是使用forward来转发请求结果给视图的,使用RedirectView会导致将请求重新导向视图。

 

    new ModelAndView(new RedirectView(this.getViewPage())); 

        viewPage的路径是从根目录算起,而不是web-inf算起,当指定viewName必须相对与根目录的路径。

 

       DispatcherServlet会根据传回的ModelAndView来解析View名称,并处理给予的Model。View名称的解析是委托给实作org.springframework.web.servlet.ViewResolver接口的实例,ViewResolver接口定义如下:

public interface ViewResolver {
    public view resolveViewName(String, Locale locale) throws ServletException;

}

 

       ViewResolver的一个实例是InternalResourceViewResolver,名称解析完之后,实际的View绘制与Model转换处理是交给实作org.springframework.web.servlet.View的实例,View接口如下:

public interface View {
    public void render(Map model, HttpServletResquest resquest, HttpServletResponse response) throws ServletException, IOException;
}

    View的实作之前用过org.springframework.web.servlet.view.InternalResourceView,另外也还有JstlView、TilesView、VelocityView等等的实作,分别进行不同的表现展处理。

 

 

     参考资料

      http://itroop.iteye.com/blog/263845



 

转载于:https://www.cnblogs.com/wala-wo/p/5119176.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值