zoukankan      html  css  js  c++  java
  • 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



  • 相关阅读:
    mac 端口转发方案
    Js 函数
    for 循环语句 与 while 循环
    Javascript 基础2
    Javascript 基础 1
    设计模式学习(一)-概述
    java基础知识-对象和类
    java基础知识-(数组)
    Java面试-框架篇(SSM-SpringMVC)
    Java面试-框架篇(SSM-Mybatis)
  • 原文地址:https://www.cnblogs.com/wala-wo/p/5119176.html
Copyright © 2011-2022 走看看