公司做产品库,因为涉及到的产品都是一些参数信息的提供.非常适合做静态化来减少系统的访问压力.
产品生成静态页面的底层处理是这样设计的:
根据产品中的模板ID到系统中查找相应的VM页面.读入VM页面再使用velocity的功能生成HTML页面.
因为想把整个产品生成静态页面的处理流程做成与产品无关.使用toolbox来提取数据.因为velocity本身是
支持toolbox取数据的.
配置好spring后,也可以在VM页面使用toolbox上面配置的方法.但是到了静态页面生成的时候竞然取
不到上面配置的方法.
通过梳理整个产品信息页面静态化的过程,发现VM页面数据的合成流程是我们自己处理的,与Servlet的
VM流程是两个完全不一样的流程,也就是我们的流程是可以脱离WEB运行的.
通过追查velocitytools的源代码,我们发现velocityservlet处理toolbox时把WEB容器的元素引入了.
比如说:request,application.后来观察toolbox.xml文件的时候,发现有一个scope的字段指定配置对象
的生命周期[application,request,session].这里我们就可以看出,整个toolbox是与WEB容器紧密关联
的。
通过观察velocityservlet的源代码,我们发现toolbox其实就是把键值存入context上去,自己实例化
一个对象出来。
到这我们就有自己的解决方案了。自己写程序读取toolbox.xml文件,把生命周期为application的配置
注入到我们的静态页面生成过程中来。
xml文件的解析使用apache digest,toolbox.xml文件的读取使用spring的classpathresource读取。
分享到:
相关推荐
Velocity用于生成动态Web页面,接收Spring传递的数据并进行渲染。而iBATIS则作为数据访问层,处理与数据库的交互,如执行SQL语句、处理结果集等。 例如,在实际开发中,Spring会通过其IoC容器创建和管理Velocity...
Spring、SpringMVC、Mybatis、Velocity和Maven是Java Web开发中常用的一组技术栈,它们各自在软件开发的不同层面发挥着重要作用。这个压缩包文件的标题和描述表明,它提供了一个集成这些技术的演示项目,下面我们将...
Velocity 则作为视图层,将Spring中的数据渲染成用户可见的页面。 例如,一个典型的流程可能如下: 1. 用户发送请求到Struts Action。 2. Struts Action通过Spring的依赖注入获取Service对象,执行业务逻辑。 3. ...
【资源说明】 1、该资源内项目代码都是经过测试运行成功,功能正常的情况下才上传的,请放心下载使用。...基于Spring+JPA+Velocity+Ehcache开发的商城系统源码+数据库(结合URL重写技术静态化商城前台页面).zip
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等...基于Spring+JPA+Velocity+Ehcache开发的商城系统源码+数据库(结合URL重写技术静态化商城前台页面).zip
通过这种方式,Spring结合Velocity不仅可以帮助你构建结构化的邮件内容,还可以轻松地处理动态数据,使得邮件发送变得更加灵活和高效。记得在实际应用中根据你的SMTP服务器配置和项目需求调整相关代码。希望这个教程...
,使用Spring+JPA+Velocity+Ehcache作为基础开发架构,应用SpringSecurity框架管理系统权限,结合URL重写技术静态化商城前台页面。 毕业设计是高等教育阶段学生在完成学业前所进行的一项重要学术任务,旨在检验学生...
1. **添加依赖**: 在项目中引入SpringMVC和Velocity的相关库,通常包括`spring-webmvc`和`velocity`或者`velocity-tools`。 2. **配置SpringMVC**: 配置`DispatcherServlet`,指定处理器映射器、视图解析器等。对于...
在“velocity生成静态页面实例”中,我们首先需要一个 Velocity模板文件(通常以`.vm`为扩展名),在这个文件中,我们可以使用Velocity语法来定义页面结构,并插入动态数据占位符。例如,我们可以写一个简单的模板:...
Velocity是Apache的一个模板引擎,它允许开发者将静态文本和动态内容分离,提高模板的可维护性。在Web应用中,Velocity通常用于生成HTML页面,使得开发者可以通过简单的模板语法来控制页面的输出。 6. MySQL: ...
在SSM框架中,Velocity负责将后台的数据动态地渲染到HTML页面上,提供个性化和交互式的用户体验。 5. **增删改查(CRUD)操作**:这是数据库操作的基础,包括创建(Create)、读取(Read)、更新(Update)和删除...
- **Thymeleaf**:现代的模板引擎,支持静态化特性,适合Spring Boot项目。 - **Hugo/Gatsby**:基于Go或JavaScript的静态站点生成器,适用于博客或文档类网站。 - **Redis/Cache**:缓存技术可以辅助实现静态化,将...
**Spring MVC + Velocity + REST Services (XML, JSON) 实例详解** 在当今的Web开发领域,Spring MVC、Velocity和RESTful服务是常见的技术栈。这个实例项目是一个基于Maven构建的无数据库操作的轻量级Web应用,它...
页面静态化是Web开发中的一个重要概念,主要目的是提高网站的访问速度和搜索引擎优化(SEO)。在Java Web开发中,页面静态化通常涉及到将动态生成的HTML页面转化为纯HTML文件,以便用户请求时无需通过服务器执行复杂...
【Velocity】是一个Java模板引擎,它允许开发者将动态内容和静态内容分离,使得页面设计更加灵活。Velocity通过模板语言与Java代码结合,生成HTML或其他格式的输出,为前端展示提供了便利。 【Layui】是一个轻量级...
### Velocity+Spring 2.0+Hibernate 的 Web 应用开发框架 #### 一、引言 随着互联网技术的发展,Web 应用系统的复杂度不断提高,为了更好地组织和管理应用程序,MVC(Model-View-Controller)架构逐渐成为主流。在...
总结起来,Spring MVC提供了MVC模式的实现,MyBatis简化了数据库操作,Velocity则负责页面渲染。这三者结合,构建出了一套高效、模块化的Java Web开发解决方案。开发者可以根据需求灵活配置,实现快速开发和维护。
整合 Shiro、Spring 和 Velocity 可以创建一个强大的安全模板系统,既能确保用户的安全性,又能根据用户角色动态生成页面内容。这种灵活性和控制力使得开发者能够构建更健壮、更安全的应用程序。
Velocity模板语言(VML)是一种简单的文本模板语言,它允许开发者将静态文本与Java对象的数据结合,生成动态内容。在邮件场景中,我们可以创建VM模板文件,然后在代码中加载并解析这个模板,将数据注入到模板中生成...