`

Spring4MVC之自定义视图

 
阅读更多

 

自定义视图

 

写数据到JFreeChart,excel等功能是通过此特性完成的

 

开发步骤

 

1. 添加自定义视图

 

package org.rabbitx.web.spring4mvc.customview;

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 PrintOutView implements View {

	@Override
	public String getContentType() {
		return "text/html";
	}

	@Override
	public void render(Map<String, ?> model, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		response.getWriter().println("PrintOutView: " + new Date());
	}
}

 

注意:需要把此自定义视图放置到spring容器中。后面配置的视图解析器会到容器中查找此视图bean。

 

2. 添加请求handler

 

package org.rabbitx.web.spring4mvc.requestmapping;

import java.io.IOException;
import java.io.Writer;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.rabbitx.web.spring4mvc.requestmapping.model.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.CookieValue;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.servlet.ModelAndView;

/**
 * 类定义处标记的@RequestMapping 限定了处理器类可以处理所有 URI 为 /user 的请求,它相对于 WEB 容器部署的根路径
 * 
 * @author RabbitX
 */
@Controller
@SessionAttributes(value={"user","time"},types={String.class})
@RequestMapping("/user")
public class UserController {

	/**
	 * 自定义视图
	 * 
	 * 写数据到JFreeChart,excel等功能是通过此特性完成的
	 */
	@RequestMapping("/testPrintOutView")
	public String testPrintOutView()
	{
		System.out.println("-----testPrintOutView-------");
		return "printOutView";
	}
}

 

3. 在springmvc.xml文件中配置视图解析器

 

	<!-- 配置视图  BeanNameViewResolver 解析器: 使用视图的名字来解析视图 -->
	<!-- 通过 order 属性来定义视图解析器的优先级, order 值越小优先级越高 -->
	<bean class="org.springframework.web.servlet.view.BeanNameViewResolver">
		<property name="order" value="100"></property>
	</bean>

 

4.  添加jsp页面内容

 

<li><a href="user/testPrintOutView">自定义视图解析器</a></li>

 

分享到:
评论

相关推荐

    Spring3MVC注解教程.ppt

    Spring MVC如何解析视图 视图解析器类型 基于协商的视图解析器 目录 本地化:基础原理 本地化:Spring MVC的本地化解析器 本地化:Spring MVC的本地化解析器 LocaleChangeInterceptor:通过URL参数指定 静态...

    Spring MVC 3.0实战指南.ppt

    Spring MVC如何解析视图 视图解析器类型 基于协商的视图解析器 目录 本地化:基础原理 本地化:Spring MVC的本地化解析器 本地化:Spring MVC的本地化解析器 LocaleChangeInterceptor:通过URL参数指定 静态资源处理 ...

    自定义spring mvc的json视图实现思路解析

    主要介绍了自定义spring mvc的json视图的实现思路解析,本文给大家介绍的非常详细,具有参考借鉴价值,需要的朋友可以参考下

    Spring Boot实战 ,丁雪丰 (译者) 中文版

    4.2.1 模拟Spring MVC 69 4.2.2 测试Web安全 72 4.3 测试运行中的应用程序 74 4.3.1 用随机端口启动服务器 75 4.3.2 使用Selenium测试HTML页面 76 4.4 小结 78 第5章 Groovy与Spring Boot CLI ...

    Spring-MVC技术体系介绍(二)

    控制器(controller)、验证器(validator)、 命令对象(command object)、表单对象(form object)、模型对象(model object)、 Servlet分发器(DispatcherServlet)、 处理器映射(handler mapping)、视图解析...

    spring boot实战.pdf高清无水印

    4.2.1 模拟Spring MVC 69 4.2.2 测试Web安全 72 4.3 测试运行中的应用程序 74 4.3.1 用随机端口启动服务器 75 4.3.2 使用Selenium测试HTML页面 76 4.4 小结 78 第5章 Groovy与Spring Boot CLI 80 5.1...

    springmvc log4j2 logback 注解 jackson 日志脱敏实现源码

    几乎是网上 能找到的 日志脱敏的所有实现 1、基于正则表达式的 日志脱敏实现 ,扩展logback 、log4j 2、springmvc 返回报文脱敏。 3、基于注解方式的脱敏。 大家选择使用。

    Spring 2.0 开发参考手册

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6.3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    2.5.1. Spring MVC的表单标签库 2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6 .3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 ...

    Spring in Action(第二版 中文高清版).part2

    14.5.3 开发自定义视图 14.6 小结 第15章 使用Spring Web Flow 15.1 开始Spring Web Flow之旅 15.1.1 安装Spring Web Flow 15.1.2 配置流程执行程序 15.1.3 登记流程定义 15.2 布置流程的基础 15.2.1 流程...

    Spring in Action(第二版 中文高清版).part1

    14.5.3 开发自定义视图 14.6 小结 第15章 使用Spring Web Flow 15.1 开始Spring Web Flow之旅 15.1.1 安装Spring Web Flow 15.1.2 配置流程执行程序 15.1.3 登记流程定义 15.2 布置流程的基础 15.2.1 流程...

    Spring中文帮助文档

    2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 2.5.3. 基于Annotation的控制器 2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态...

    Spring.3.x企业应用开发实战(完整版).part2

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    自定义MVC框架

    没有使用struts,spring等现成的MVC框架,而是用最原始的Servlet来实现MVC的模式,用于理解MVC的实质:Model(模型)表示应用程序核心,View(视图)显示数据,Controller(控制器)处理输入。

    spring chm文档

    2.5.2. Spring MVC合理的默认值 2.5.3. Portlet 框架 2.6. 其他特性 2.6.1. 动态语言支持 2.6.2. JMX 2.6.3. 任务规划 2.6.4. 对Java 5(Tiger)的支持 2.7. 移植到Spring 2.0 2.7.1. 一些变化 2.8. 更新的...

    Spring API

    2.5.1. Spring MVC合理的默认值 2.5.2. Portlet 框架 2.5.3. 基于Annotation的控制器 2.5.4. Spring MVC的表单标签库 2.5.5. 对Tiles 2 支持 2.5.6. 对JSF 1.2支持 2.5.7. JAX-WS支持 2.6. 其他 2.6.1. 动态...

    Spring攻略(第二版 中文高清版).part1

    1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 工作原理 14 1.4 解决构造程序歧义 17 ...

    Spring3.x企业应用开发实战(完整版) part1

    Spring3.0是Spring在积蓄了3年之久后,隆重推出的一个重大升级版本,进一步加强了Spring作为Java领域第一开源平台的翘楚地位。  Spring3.0引入了众多Java开发者翘首以盼的新功能和新特性,如OXM、校验及格式化框架...

    Spring攻略(第二版 中文高清版).part2

    1.2 配置Spring IoC容器中的Bean 4 1.2.1 问题 4 1.2.2 解决方案 4 1.2.3 工作原理 4 1.3 调用构造程序创建Bean 14 1.3.1 问题 14 1.3.2 解决方案 14 1.3.3 工作原理 14 1.4 解决构造程序歧义 17 ...

    java项目开发实录第四版源码-nixmash-spring:NixMashSpring:JPA、社交、MVC、Solr、安全、Thymele

    MVC Spring安全 Spring社交 Hibernate 莫基托 杰森 Gradle Spring邮件 汤 多配置文件配置 JPA审计 网络jar 蒲公英 速度模板 (pre v.0.4.1) @PreAuthorize 方法安全 REST 模板 RSS 视图解析器 自定义验证器 @...

Global site tag (gtag.js) - Google Analytics