SpringMVC ------自定義視圖

    1、視圖和視圖解析器html

       -- 請求處理方法執行完成後,最終返回一個 ModelAndView • 對象。對於那些返回 String,View 或 ModeMap 等類型的        處     理方法,Spring MVC 也會在內部將它們裝配成一個 ModelAndView 對象,它包含了邏輯名和模型對象的視圖 java

         -- Spring MVC 藉助視圖解析器(ViewResolver)獲得最終• 的視圖對象(View),最終的視圖能夠是 JSP ,也多是             Excel、JFreeChart  等各類表現形式的視圖 web

         -- 對於最終究竟採起何種視圖對象對模型數據進行渲染,處• 理器並不關心,處理器工做重點聚焦在生產模型數據的工 做          上,    從而實現 MVC 的充分解耦spring

    2、視圖安全

         --  視圖的做用是渲染模型數據,將模型裏的數據以某種形式呈現給客• 戶。ide

         -- 爲了實現視圖模型和具體實現技術的解耦,Spring 在 • org.springframework.web.servlet 包中定義了一個高度抽象的           View 接口:spa

         -- 視圖對象由視圖解析器負責實例化。因爲視圖是無狀態的,因此他們• 不會有線程安全的問題線程

        視圖解析器code

        -- SpringMVC 爲邏輯視圖名的解析提供了不一樣的策略,可• 以在 Spring WEB 上下文中配置一種或多種解析策略,並          指定他們之間的前後順序。每一種映射策略對應一個具體 的視圖解析器實現類。htm

         -- 視圖解析器的做用比較單一:將邏輯視圖解析爲一個具體• 的視圖對象。

         --  全部的視圖解析器都必須實現ViewResolver 接口

---------------------------------------------分割線--------------------------------------------------------------

自定義視圖:

    1.首先自定義個視圖類

    

@Component  //把視圖放到IOC容器裏面
//這裏視圖的名字就是HelloView
public HelloView implements View{

    @Override
    public String getContentType(){
        return "text/html";
    }
    
    @Overrider
    public void render(Map<String,?> model,HttpServletRequest request,
            HttpServletResponse response){
            response.getWriter().print("hello view,time:"+new Date());
    }
}

 2.配置視圖解析器

    BeanNameViewResolver 解析器:使用視圖的名字來解析視圖

    <bean  class="org.springframework.web.servlet.view.BeanNameViewResolver">
        <property name="order" value="100" />
    </bean>

  這個視圖解析器,是在InternalResourceViewResolver以前被調用, 經過order屬性來定義視圖的優先級,order值越小優先級越高,InternalResourceViewResolver的order值是inter的最大值,因此通常來講都是最後調用的

相關文章
相關標籤/搜索