Spring MVC提供了方便的自定义视图,主要有以下几个步骤:
1、创建一个自定义视图:
org.springframework.stereotype.Component;
import org.springframework.web.servlet.View;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Date;
import java.util.Map;
@Component
public class HelloView implements View{
@Override
public String getContentType() {
return "text/html";
}
@Override
public void render(Map<String, ?> model, HttpServletRequest request, HttpServletResponse response) throws Exception {
response.getWriter().write("Hello world!"+new Date());
}
}
2、在Spring MVC context文件中注册一个BeanViewResolver
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
<property name="order" value="100"></property>
</bean>
其中order属性为一个解析器的解析顺序,序号越小,优先级越高,InternalResourceViewResolver为Integer.max
3、在页面中添加请求
<a href="customizeView">customizeView</a>
<br>
4、添加处理方法
@RequestMapping("/customizeView")
public String customizeView(){
System.out.println("customizeView");
return "helloView";
}
这个helloView的返回值通过BeanNameResolverView解析为View对象。然后就可以使用了。
注意:自定义的View对象必须添加@Component注解