视图对象需要配置 IOC 容器中的一个 Bean,使用 BeanNameViewResolver 作为视图解析器即可
1.首先建立一个视图类,它需要实现View接口 ,并实现View接口的抽象方法
HelloView.java
package com.sunnylong.springmvcstady.views;
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//将这个类加入到IOC容器中
public class HelloViews implements View{
@Override
public String getContentType() {
return "text/html";
}
@Override
public void render(Map<String, ?> arg0, HttpServletRequest request, HttpServletResponse response) throws Exception {
response.getWriter().print("hello view, time " +new Date());//在页面上打印时间
}
}
2.在SpringMVC的配置文件中配置针对于自定义视图的视图解析器
<!-- 配置视图 BeanNameViewResolver 解析器: 使用视图的名字来解析视图 -->
<!-- 通过 order 属性来定义视图解析器的优先级, order 值越小优先级越高 -->
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
<property name="order" value="100"></property>
</bean>
3.在控制类中写目标方法
@RequestMapping("/testView")
public String testView() {
//转发的视图为自定义视图类名第一个字母小写
return "helloViews";
}
4.index.jsp页面
<a href="testView">testView</a>
5.运行项目 结果:
1).点击
2).结果