[劉陽Java]_BeanNameViewResolver視圖解析器_第8講


BeanNameViewResolver:這個視圖解析器跟XmlViewResolver有點類似,也是通過把返回的邏輯視圖名稱去匹配定義好的視圖bean對象。它要求視圖bean對象都定義在Spring的application context中,而XmlViewResolver是在指定的配置文件中尋找視圖bean對象

1. 在SpringMVC配置文件中添加BeanNameViewResolver

<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">  
    <property name="order" value="10" />  
</bean>     
<!-- 配置視圖解析器 -->
<!--該視圖解析器的order值為Integer.MAX_VALUE -->  
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
    <property name="prefix" value="/WEB-INF/"></property>  
    <property name="suffix" value=".jsp"></property>  
</bean>

2. 創建一個HelloView類,實現View接口

import java.util.Date;  
import java.util.Map;  
  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
  
import org.springframework.stereotype.Component;  
import org.springframework.web.servlet.View;  
  
@Component  
public class HelloView implements View{  
  
    public String getContentType() {  
        // TODO Auto-generated method stub  
        return "text/html";  
    }  
  
    public void render(Map<String, ?> model, HttpServletRequest request,  
            HttpServletResponse response) throws Exception {  
        // TODO Auto-generated method stub  
        response.getWriter().print("Welcome to View:"+new Date());   
    }  
  
}

3. 創建控制器

import org.springframework.stereotype.Controller;  
import org.springframework.web.bind.annotation.RequestMapping;  
  
@RequestMapping(value="/springmvc")  
@Controller  
public class MyView {  
    @RequestMapping(value="/testMyView")  
    public String testView(){  
        System.out.println("testView");  
        return "helloView";
    }  
}

這里return的是視圖名的第一個字母小寫,springmvc會根據這個helloView名,去getBean,得到這個視圖對象

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM