SpringMVC 借助視圖解析器(ViewResovler)得到最終的的對象(View),最終視圖可以是JSP,也可能是Excel,JFreeChart 等各種表現形式的視圖。同時也可以自定義視圖,下面就講述下自定義視圖的步驟
一、配置BeanNameViewResolver 視圖解析器:使用視圖的名字來解析視圖
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
<property name="order" value="100"></property>
</bean>
注:通過order 屬性來定義視圖解析器的優先級,order 值越小優先級越高
BeanNameViewResolver 通過在IOC 容器查找Bean 來加載視圖,是以需要把編寫的視圖類(View)加入到IOC容器中
二、編寫視圖類
import java.util.Date;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.servlet.View;
@Controller
public class HelloView implements View{
@Override
public String getContentType() {
// TODO Auto-generated method stub
return "text/html";
}
@Override
public void render(Map<String, ?> arg0, HttpServletRequest arg1,
HttpServletResponse arg2) throws Exception {
// TODO Auto-generated method stub
arg2.getWriter().print("Hello View, Time: "+new Date());
}
}
注:編寫View 類(類繼承View 接口)
a:getContentType方法:View的類型
b:render:渲染視圖
将View類加入IOC 容器
三、Controller調用
@RequestMapping("/testView")
public String testView(){
return "helloView";
}