`

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>

 

分享到:
评论

相关推荐

    spring mvc freemarker 自定义标签

    总的来说,Spring MVC结合Freemarker自定义标签提供了一种强大的视图层解决方案。通过自定义标签,开发者可以将业务逻辑与展示逻辑分离,使得模板更加清晰,同时减少了代码重复。在学习和实践中,你应该尝试创建自己...

    Spring MVC--5.视图和视图解析器

    除了内置的视图解析器,Spring MVC还支持自定义视图解析器,以满足特定的需求。开发者可以通过实现ViewResolver接口来创建自己的视图解析器,从而实现对逻辑视图名到具体视图的映射规则。 此外,Spring MVC还提供了...

    Mastering Spring MVC 4(2015.09)源码

    拦截器(Interceptor)是Spring MVC中的一种机制,可以在请求处理前、后执行自定义逻辑。通过实现HandlerInterceptor接口或使用@Interceptor注解,开发者可以添加全局的行为,如日志记录、权限检查等。 此外,...

    Spring Web MVC入门教程

    文件上传和下载功能是Web应用中常见的需求之一,Spring Web MVC通过MultipartResolver组件提供了对文件上传的支持。对于表单标签的支持,Spring Web MVC不仅简化了传统JSP标签的使用,还扩展了表单相关的处理能力。 ...

    Spring.MVC-A.Tutorial-Spring.MVC学习指南 高清可复制版PDF

    总之,“Spring MVC - A Tutorial”这份指南会详细讲解Spring MVC的各个核心组件和使用技巧,包括控制器的创建、模型数据的管理、视图的渲染、以及各种高级特性。通过学习,开发者可以熟练地运用Spring MVC来构建...

    Spring Web MVC外文翻译

    Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,它从 Spring 框架诞生之初就被包含其中。正式名称“Spring Web MVC”来源于其源模块 `spring-webmvc`,但在实际使用中更常见地被称为“Spring MVC”。 与 ...

    spring mvc 和spring security自定义登录

    本文将深入探讨如何结合Spring MVC和Spring Security来实现自定义登录功能。 首先,Spring MVC是Spring框架的一部分,它为构建基于HTTP的Web应用程序提供了模型-视图-控制器架构。通过使用Spring MVC,开发者可以...

    spring-mvc-官方中文文档

    11. **验证**:Spring MVC 集成了 Bean Validation API,允许开发者对模型数据进行校验,通过 @Valid 注解和 ConstraintValidator 实现自定义验证规则。 12. **消息转换**:Spring MVC 提供了 HttpMessageConverter...

    网上书城 spring-mvc

    10. **异常处理**:Spring-MVC支持自定义异常处理器,可以捕获并处理特定的业务异常。 11. **AJAX支持**:Spring-MVC可以通过`@ResponseBody`和`@RestController`注解,配合JSON序列化库(如Jackson或Gson),轻松...

    SpringMVC自定义多视图

    可能包括配置文件(如spring-servlet.xml)、自定义视图解析器的Java类以及相关的控制器类。 总的来说,自定义多视图是Spring MVC中增强灵活性和可扩展性的重要手段,它允许我们根据需求动态地选择和构造视图,从而...

    Spring3 MVC 深入研究

    通过理解和配置这个文件,开发者可以自定义Spring MVC的行为。 六、实战应用 在实际项目中,Spring3 MVC常与其他Spring模块如Spring JDBC、Spring Data JPA等配合使用,实现数据库操作。同时,结合Spring Security...

    spring3.0Mvc简单示例

    Spring 3.0 MVC 是一个基于Java的企业级框架,用于构建Web应用程序,特别是控制器、视图和模型组件的分离。这个“spring3.0Mvc简单示例”旨在帮助开发者快速理解并入门Spring MVC的基本概念和操作流程。让我们深入...

    spring3.0 MVC中文教程

    4. **视图技术的多样性**:除了传统的JSP,Spring MVC还支持Freemarker、Excel、PDF等多种视图技术,提高了开发的灵活性。 5. **松散耦合**:Spring MVC并不紧密地耦合到servlet或JSP,这意味着可以在不改变框架的...

    spring MVC配置详解

    Spring MVC 是一个基于 DispatcherServlet 的 MVC 框架,它是当前主流的 Web 框架之一。要想灵活运用 Spring MVC 来应对大多数的 Web 开发,就必须要掌握它的配置及原理。 一、Spring MVC 环境搭建 1. jar 包引入 ...

    精通Spring MVC4

    《精通Spring MVC4》这本书是Java开发者们的重要参考资料,它深入浅出地讲解了Spring MVC这一强大框架的各个方面。Spring MVC是Spring框架的一个模块,专为构建Web应用程序而设计,以其灵活性、高效性和可扩展性受到...

    spring2.5 mvc 完整项目

    4. **模型与视图**:在控制器中处理业务逻辑后,可以使用ModelAndView对象或直接返回视图名称,Spring MVC会根据配置找到对应的视图,如JSP、FreeMarker或Thymeleaf等。 5. **数据访问层**:集成数据库访问技术,如...

    Spring4 mvc小练习

    Spring MVC 允许我们自定义拦截器,对请求和响应进行预处理和后处理,如权限验证、日志记录等。使用 `@Configuration` 和 `@EnableWebMvc` 配置类可以注册拦截器。 9. **测试**: Spring MVC 提供了 `MockMvc` ...

    spring4mvc_hibernate4示例

    Spring4MVC作为Spring框架的一部分,提供了强大的模型-视图-控制器(MVC)架构支持,而Hibernate4则是一个优秀的对象关系映射(ORM)工具,能够简化数据库操作。本示例旨在展示如何将这两个框架完美地结合在一起,...

    spring.net mvc hibernamte整合实例

    4. **视图解析**:通过配置,Spring.NET MVC 可以选择不同的视图技术(如 Razor 或 Web Forms),并根据逻辑视图名返回实际视图。 5. **异常处理**:提供了全局的异常处理机制,可以统一处理未捕获的异常,提高应用...

Global site tag (gtag.js) - Google Analytics