- 浏览: 269852 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (183)
- oracle (4)
- informix (1)
- web开发 (6)
- java (49)
- hibernate (1)
- hadoop (1)
- spring (23)
- 非技术 (8)
- ibatis2 (5)
- Linux (6)
- tomcat (14)
- nginx (7)
- dubbo (3)
- myibatis (7)
- webservice 开发 (2)
- mysql (2)
- svn (2)
- redis (7)
- 分布式技术 (17)
- zookeeper (2)
- kafka (2)
- velocity (1)
- maven (7)
- js (1)
- freemarker (1)
- Thymeleaf (3)
- 代码审计 (1)
- ibatis3 (1)
- rabbitmq (1)
最新评论
使用spring3.2.9 集成多视图,可以使用jsp页面,ftl页面,vm页面。
源代码在附件中
主要配置:
<bean id="freemarkConfig"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location" value="classpath:freemark.properties" />
</bean>
<bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape" />
<bean id="FreeMarkerConfigurer"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/ftl/" />
<property name="defaultEncoding" value="UTF-8" />
<property name="freemarkerSettings" ref="freemarkConfig" />
<property name="freemarkerVariables">
<map>
<entry key="xml_escape" value-ref="fmXmlEscape" />
</map>
</property>
</bean>
<!-- requestContextAttribute 在页面中使用${rc.contextPath}就可获得contextPath -->
<!-- 配置FreeMark视图 -->
<bean id="freeMarkerViewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="contentType" value="text/html;charset=UTF-8" />
<property name="viewNames" value="*.ftl" />
<property name="viewClass"
value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
<property name="suffix" value="" /><!-- .ftl -->
<property name="cache" value="true" />
<property name="exposeSessionAttributes" value="true" />
<property name="exposeRequestAttributes" value="true" />
<property name="exposeSpringMacroHelpers" value="true" />
<property name="requestContextAttribute" value="rc" />
<property name="order" value="1" />
</bean>
<!-- ############################################################## -->
<bean id="velocityViewResolver"
class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="viewNames" value="*.vm" /> <!-- viewNames 多视图必须配置 -->
<property name="cache" value="false" />
<property name="prefix" value="" />
<property name="suffix" value="" /> <!-- suffix 必须为空 -->
<property name="contentType">
<value>text/html;charset=UTF-8</value>
</property>
<!-- 使用springMacro、使用servlet的对象 -->
<property name="exposeSpringMacroHelpers" value="true" />
<property name="exposeRequestAttributes" value="true" />
<property name="exposeSessionAttributes" value="true" />
<!-- spring的日期格式化 -->
<property name="dateToolAttribute" value="dateTool" />
<!-- velocity toolbox -->
<property name="toolboxConfigLocation" value="/WEB-INF/vmtools/toolbox.xml" />
<property name="order" value="0" /> <!-- order 多视图必须配置 -->
</bean>
<bean id="velocityConfig"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/WEB-INF/velocity/" />
<!-- velocity配置路径 -->
<property name="configLocation" value="classpath:velocity.properties" />
</bean>
<!-- ############################################################## -->
<!-- jsp 视图 -->
<bean id="internalResourceViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewNames" value="*.jsp" /> <!-- viewNames 多视图必须配置 -->
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value="" /> <!-- suffix 必须为空 -->
<property name="contentType" value="text/html;charset=UTF-8" />
<property name="order" value="2" /> <!-- order 多视图必须配置 -->
</bean>
java类代码:
访问jsp 页面:
@Controller
@RequestMapping("/jsp")
public class JspController {
@RequestMapping("/list")
public ModelAndView list(){
ModelAndView modelAndView = new ModelAndView("list.jsp");
modelAndView.addObject("name", "jsp........");
return modelAndView;
}
}
访问ftl页面:
@Controller
@RequestMapping("/ftl")
public class FtlController {
@RequestMapping("/hello")
public ModelAndView hello(){
ModelAndView model = new ModelAndView("hello.ftl");//文件后缀必须填写
model.addObject("name", "boce...");
return model;
}
}
访问 vm页面:
@Controller
@RequestMapping(value = "/demo")
public class DemoVelocity {
// Logger logger = LoggerFactory.getLogger(VelocityDemo.class);
@RequestMapping(value = "/welcome")
public String index(Model model) throws Exception {
model.addAttribute("name", "highkgao");
model.addAttribute("age", 20);
model.addAttribute("date", Calendar.getInstance().getTime());
//model.a
System.out.println(model.toString());
return "welcome.vm"; //文件后缀必须填写
}
@RequestMapping(value = "/test.do")
public String test(Model model) throws Exception {
model.addAttribute("name", "highkgao");
System.out.println(model.toString());
return "index";
}
@RequestMapping(value="/autoBind", method={RequestMethod.GET})
public String autoBindLogin(Model model){
model.addAttribute("accountmodel", new AccountModel());
return "login";
}
@RequestMapping(value="/autoBind2", method={RequestMethod.POST})
public String autoBindResult(Model model,AccountModel am){
model.addAttribute("accountmodel",am );
return "autoBindResult";
}
}
访问后页面显示:
jsp页面:
vm页面
ftl页面
源代码在附件中
主要配置:
<bean id="freemarkConfig"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location" value="classpath:freemark.properties" />
</bean>
<bean id="fmXmlEscape" class="freemarker.template.utility.XmlEscape" />
<bean id="FreeMarkerConfigurer"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
<property name="templateLoaderPath" value="/WEB-INF/ftl/" />
<property name="defaultEncoding" value="UTF-8" />
<property name="freemarkerSettings" ref="freemarkConfig" />
<property name="freemarkerVariables">
<map>
<entry key="xml_escape" value-ref="fmXmlEscape" />
</map>
</property>
</bean>
<!-- requestContextAttribute 在页面中使用${rc.contextPath}就可获得contextPath -->
<!-- 配置FreeMark视图 -->
<bean id="freeMarkerViewResolver"
class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">
<property name="contentType" value="text/html;charset=UTF-8" />
<property name="viewNames" value="*.ftl" />
<property name="viewClass"
value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />
<property name="suffix" value="" /><!-- .ftl -->
<property name="cache" value="true" />
<property name="exposeSessionAttributes" value="true" />
<property name="exposeRequestAttributes" value="true" />
<property name="exposeSpringMacroHelpers" value="true" />
<property name="requestContextAttribute" value="rc" />
<property name="order" value="1" />
</bean>
<!-- ############################################################## -->
<bean id="velocityViewResolver"
class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
<property name="viewNames" value="*.vm" /> <!-- viewNames 多视图必须配置 -->
<property name="cache" value="false" />
<property name="prefix" value="" />
<property name="suffix" value="" /> <!-- suffix 必须为空 -->
<property name="contentType">
<value>text/html;charset=UTF-8</value>
</property>
<!-- 使用springMacro、使用servlet的对象 -->
<property name="exposeSpringMacroHelpers" value="true" />
<property name="exposeRequestAttributes" value="true" />
<property name="exposeSessionAttributes" value="true" />
<!-- spring的日期格式化 -->
<property name="dateToolAttribute" value="dateTool" />
<!-- velocity toolbox -->
<property name="toolboxConfigLocation" value="/WEB-INF/vmtools/toolbox.xml" />
<property name="order" value="0" /> <!-- order 多视图必须配置 -->
</bean>
<bean id="velocityConfig"
class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
<property name="resourceLoaderPath" value="/WEB-INF/velocity/" />
<!-- velocity配置路径 -->
<property name="configLocation" value="classpath:velocity.properties" />
</bean>
<!-- ############################################################## -->
<!-- jsp 视图 -->
<bean id="internalResourceViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewNames" value="*.jsp" /> <!-- viewNames 多视图必须配置 -->
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value="" /> <!-- suffix 必须为空 -->
<property name="contentType" value="text/html;charset=UTF-8" />
<property name="order" value="2" /> <!-- order 多视图必须配置 -->
</bean>
java类代码:
访问jsp 页面:
@Controller
@RequestMapping("/jsp")
public class JspController {
@RequestMapping("/list")
public ModelAndView list(){
ModelAndView modelAndView = new ModelAndView("list.jsp");
modelAndView.addObject("name", "jsp........");
return modelAndView;
}
}
访问ftl页面:
@Controller
@RequestMapping("/ftl")
public class FtlController {
@RequestMapping("/hello")
public ModelAndView hello(){
ModelAndView model = new ModelAndView("hello.ftl");//文件后缀必须填写
model.addObject("name", "boce...");
return model;
}
}
访问 vm页面:
@Controller
@RequestMapping(value = "/demo")
public class DemoVelocity {
// Logger logger = LoggerFactory.getLogger(VelocityDemo.class);
@RequestMapping(value = "/welcome")
public String index(Model model) throws Exception {
model.addAttribute("name", "highkgao");
model.addAttribute("age", 20);
model.addAttribute("date", Calendar.getInstance().getTime());
//model.a
System.out.println(model.toString());
return "welcome.vm"; //文件后缀必须填写
}
@RequestMapping(value = "/test.do")
public String test(Model model) throws Exception {
model.addAttribute("name", "highkgao");
System.out.println(model.toString());
return "index";
}
@RequestMapping(value="/autoBind", method={RequestMethod.GET})
public String autoBindLogin(Model model){
model.addAttribute("accountmodel", new AccountModel());
return "login";
}
@RequestMapping(value="/autoBind2", method={RequestMethod.POST})
public String autoBindResult(Model model,AccountModel am){
model.addAttribute("accountmodel",am );
return "autoBindResult";
}
}
访问后页面显示:
jsp页面:
vm页面
ftl页面
发表评论
-
spring boot 1.5.6 redis 解决session共享
2017-10-19 10:30 14231.下载: <dependency> ... -
RedisTemplate 对存入redis 中的json 字符串加密和解密
2017-10-11 15:44 6146使用RedisTemplate 对redis操作时,存入的数据 ... -
spring boot 上传文件大小限制
2017-09-25 15:25 1759上传时出现了The field file exceeds it ... -
springboot和fastdfs实现文件ajax上传
2017-09-20 10:54 58031.下载: <dependency> ... -
spring-session 共享session
2017-07-21 11:20 7531.下载jar <!-- spring 共享sessio ... -
Spring4 中使用 jasypt 加密数据密码
2017-07-05 16:59 30881.加载类jar <dependency> ... -
spring3.2+velocity 实例
2017-05-15 16:40 417Velocity,名称字面翻译为:速度、速率、迅速,用在Web ... -
spring 获取HttpSession ,HttpServletRequest ,HttpServletResponse
2017-05-02 16:30 1130ServletRequestAttributes servle ... -
spring4 + quarz2 集群
2017-03-20 15:55 5531下载: def springVers ... -
spring 测试工具
2017-03-17 17:08 448package com.cloud.test; ... -
拦截 @ResponseBody 标签输出的结果打印日志
2017-03-09 17:22 2230@ResponseBody @RequestMapp ... -
spring4 aop 使用
2017-03-09 10:23 6141.下载 jar //core spring ... -
@ResponseBody 返回对象中的Date类型如何格式化格式
2017-02-21 16:52 14781.首先定义一个格式化Date 类,这个类要实现Jso ... -
string @InitBinder 使用
2017-01-16 15:41 747在SpringMVC中,bean中定义了Date,doubl ... -
String 注解使用
2017-01-12 11:37 857二 @RequestHeader、@CookieVa ... -
Spring 的@RequestMapping注解
2017-01-12 11:35 528@RequestMapping RequestMappi ... -
spring4 使用@ResponseBody 返回中文时发现客户端乱码
2017-01-12 11:01 767在使用spring4 使用@ResponseBody 返回中 ... -
spring JdbcTemplate 不提交的问题
2015-05-29 10:54 4595最近 使用 spring3 的 JdbcTemplate ... -
使用spring3 配置自动任务
2015-05-28 17:47 5711.首先配置 spring3 的配置文件 <? ... -
spring 配置 自动任务
2015-02-03 12:00 581spring 中配置文件,定义 每天6:10:10 ...
相关推荐
本文将详细介绍如何使用MyEclipse这一集成开发环境(IDE)来查看Spring框架中的依赖关系,并通过具体的步骤指导读者如何操作。 #### 二、MyEclipse中添加对Spring的支持 为了能够利用MyEclipse查看Spring的依赖...
本文将深入探讨如何在Spring2中集成视图,以实现高效的Web应用开发。我们将讨论关键概念、配置、以及如何与不同的视图技术如JSP、FreeMarker或Thymeleaf进行交互。 首先,Spring2的MVC框架允许开发者通过`...
在IT行业中,Spring...通过这个实例,你可以学习到如何在Spring环境中集成多个组件,构建一个完整的Web应用,同时理解和实践MVC模式、ORM持久化、模板引擎以及JSON数据交换。这将对你的Java Web开发技能有显著提升。
在Web项目中集成Spring是一个常见的开发实践,Spring框架以其强大的依赖注入、面向切面编程以及丰富的功能模块,极大地简化了Java Web应用的开发。本文将深入探讨如何在Web项目中集成Spring,包括Spring MVC的使用、...
**Spring MVC3 集成 ...综上所述,Spring MVC3集成FreeMarker是一个常见的Web开发实践,通过这种方式,开发者可以将关注点集中在业务逻辑和数据处理上,而将视图的渲染交给FreeMarker,提高开发效率和代码质量。
Spring MVC还支持多种视图技术,如JSP、Thymeleaf等,让开发者有更多选择。 【MyBatis】: MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。在本项目中,MyBatis被用来处理数据库操作,...
- Spring与Struts2集成,Spring可以作为Struts2的Action的依赖注入容器,通过Spring的ApplicationContext获取服务层对象,实现业务逻辑处理。 - Struts2与Hibernate集成,通常在Action中通过SessionFactory获取...
Spring3 MVC 集成 Tiles2 是一个常见的Web开发任务,用于构建结构化的、模块化的网页布局。Tiles2 是一个视图层框架,它允许开发者将网页分解为多个组件(或称为“tiles”),每个组件负责一部分内容或样式,然后...
SpringMVC是Spring框架的一部分,它是一个基于模型-视图-控制器(MVC)设计模式的轻量级Web应用框架。SpringMVC使得开发者可以将业务逻辑与表现层分离,提高代码的可复用性和可测试性。在SpringMVC中,Controller...
Spring3对DI的实现更加完善,支持更多种类型的依赖注入,如构造函数注入、setter注入和接口注入。 三、面向切面编程(AOP) AOP是Spring提供的另一种重要特性,它允许我们把关注点分离,将横切关注点(如日志、...
3. **配置Spring**:同样在web.xml中,需要配置Spring的DispatcherServlet和ContextLoaderListener。前者处理请求,后者初始化Spring应用上下文。 4. **Struts2-Spring插件**:为了使Struts2能与Spring协同工作,...
Spring MVC、Spring 和 Spring JPA 是Java开发中的三大核心框架,它们共同构建了一个高效、灵活的Web应用程序开发环境。在本教程中,我们将探讨如何将这些框架与MySQL数据库进行集成,以便实现数据的持久化存储。 ...
Struts1.x、Hibernate 3 和 Spring 3 是经典的Java Web开发框架,它们的集成被称为SSH(Struts、Spring、Hibernate)集成。这个"struts1.x + hibernate 3+spring 3 集成实例"是一个空项目,特别适合初学者理解和学习...
Spring 3是Spring框架的一个重要里程碑,它增强了对Java EE 5和6的支持,引入了更多模块,优化了性能,并提供了更好的集成能力。这一版本的核心目标是提高开发效率,提供更全面的解决方案,同时保持框架的简洁性。 ...
Spring3、Spring3MVC和MyBatis3是Java开发中的三大核心框架,它们的集成是企业级Web应用开发的常见实践。这个项目显然旨在创建一个基础的后端系统,利用Spring的强大功能来管理依赖、处理业务逻辑,通过Spring MVC...
集成 Spring MVC 和 MyBatis 可以带来很多好处,如松耦合的架构、易于维护和扩展、强大的事务管理等。在实际开发中,还可以结合 Spring Security 进行权限控制,或者使用 Spring Boot 进行快速开发。这样的组合使得...
3. **生成服务端点**:使用Spring的`WebServiceGatewaySupport`或`WebServiceTemplate`类作为基础,创建一个服务处理器类,该类将处理来自客户端的请求,并调用业务逻辑。 4. **配置Spring MVC**:在Spring MVC的...
Spring3MVC是Spring框架的一个子模块,专门用于处理Web应用的模型-视图-控制器(MVC)架构。JDBC(Java Database Connectivity)则是Java与数据库交互的标准接口。本文将详细探讨Spring3MVC与JDBC的集成,以及它们...
集成Spring和Struts的主要目标是让Spring负责业务逻辑和数据访问层,而Struts处理视图和控制器。以下是一些关键步骤: 1. **配置Spring**: - 创建Spring配置文件,例如`applicationContext.xml`,定义bean和其...