你好,欢迎来到织梦之家,你可以免费观看大量视频教程以及大量模板下载!

如何利用 velo织梦仿站city 模板引擎开拓网站-织梦之家(dedehome.com)

时间:2017-09-10 02:03 来源:织梦之家作者:织梦之家 点击:
如何利用 velocity 模板引擎开拓网站 data.dkeys

如何操作 velo织梦仿站city 模板引擎开辟网站

基于 Java 的网站开拓,许多人都回收 JSP 作为前端网页建造的技能,尤其在是海内。这种技能凡是有一些问题,我试想一下我们是怎样开拓网站的,凡是有几种要领:

1:成果确定后,由美工设计网页的UI(界面)部门,然后由措施员在其上插手代码显示逻辑(好比轮回,判断显示数据功效)。也就是凡是的 jsp 页面建造,虽然这部门可以由美工完成模板,然后由 jsp 工程师再继承以它为原型建设相应的 jsp 页面。

2:成果确定后,由美工设计网页的UI(界面)部门,然后由网页建造人员在其上插手代码显示逻辑(好比轮回,判断显示数据功效),在这一步的 jsp 页面建造中,网页建造人员(凡是只分明 javascript 和 html )在工程师的指导下学会如何嵌入 jsp taglib 标志,然后以美工的模板为原型建造 jsp 网页。

显然后头一种方法要比前面一种方法分工明了,然后在许多小公司,可能项目很急的环境下,jsp 网页建造和靠山措施开拓都是同一小我私家。这样无疑加大了措施员的承担。 后一种环境固然比前面的好,可是它有两个缺点: 一:网页建造人员必需学会如何利用 jsp taglib 的利用,这无疑加大了网页建造人员的承担。二:假如页面因为客户的要求重新设计,那么无论那种环境网页建造人员都要重新将显示逻辑重新嵌入 jsp 网页。

在这方面, jsp 做的并欠好,固然从机能角度和 taglib 的利用上来说,它比 php 和 asp 要强许多, 可是它在设计上很雷同 php 这种处事器页面语言,也就是在页面中嵌入剧本语言的技能,固然它比传统的基于 CGI 的剧本语言的开拓模式速度快,可是它将靠山措施逻辑与页面显示夹杂了,所以从这个角度来说, 它是一种不太精采的设计。想想看,你看到的浩瀚 php 措施是怎么样子的吧,在一堆 .php 文件中,你已经分不清楚那些是靠山措施,那些只是用来显示页面的措施。

此刻更多的网站建造回收一种 MVC 模式,也就是将网站建造事情分工,别离为M(Model, 模型),V(View 视图),C(Controller 节制器).

M(Model, 模型)也就是靠山的事务逻辑,真正处理惩罚事务的代码,贸易逻辑等等。他们是整个网站最重要的事情部门,凡是这部门代码相对来说较量不变,不常常变换,就是有所变换也不会对前端的页面有什么影响。 V(View 视图): 也就是网页的显示部门,这个部门接管来自靠山措施的功效或数据,举办显示,可是这个部门凡是是变革较量大的部门,好比网站的界面更新是常常要要作的工作,每隔一段时间更新网页气势派头就会造成 View 视图部门的大量变动事情。 C(Controller 节制器). 在视图和模型之间通报节制,并按照要求调用相应的视图显示模型返回的数据,主要认真调治事情。

这种职责的分工到底有什么长处呢,它简化了软件开拓进程中所有相关人员的事情, 使得差异的部门的修改凡是不会影响的其他部门的事情,好比,我修改了靠山某些措施的算法,并不影响前台的页面显示,前台页面修改不影响靠山措施的开拓。这种分工相助比起 jsp 夹杂代码逻辑和显示层的做法要好的多。

所以越来越多的海外措施员在不绝提出替代 jsp 的方案,在浩瀚方案中, 一种基于 java 模板引擎的技能脱颖而出,最为著名的是 Velocity 和 Webmacro 两种模板技能。

模板引擎的设计思想最早是有 webmacro 提出的, 厥后应用在一个著名的搜索引擎 上, 这种思想徐徐被 Apache 开拓小组所回收,并作为一个子项目被提出来,这就是此刻的 Velocity。模板引擎与MVC中视图这一部门的干系更为密切。它是常常作为一种 jsp 的替代技能呈此刻海外的一些论坛上的。可是 Velocity 可以应用在任何需要名目化数据显示的 java 措施中。

那么 Velocity 到底是什么呢?它的官方表明是:

"Velocity 是一种基于 java 的模板引擎,它答允任何人利用简朴而强大的模板语言来引用界说在 java 代码中的工具"

你大概因为下面几种原因而利用 Velocity:

1:它很容易集成在各类百般的措施规模中。

2:它为网页建造人员提供了一种清晰而又简朴的语法

3:因为模板和代码是疏散的,所以你可以别离独立的开拓和维护它们。

4:Velocity 引擎可以很容易的集成到一些 Java 运行情况,出格是 Servlet.

5:Velocity 使得模板可以会见任何情况工具中的共有要领。

Velocity 的强大之处在于它严格的区分措施开拓成果的职责分别。 它限制模板大概会见的工具(也就是靠山措施答允它获得的工具)来实现这一点。这意味着,网页设计人员可以只把精神放在数据的显示部门(View 视图)而措施员则只要存眷如何写好措施的节制层(Controller,节制器)和贸易逻辑和数据打点(模型 Model), 这就是 MVC 开拓模式。MVC 此刻已经是遍及接管的一种开拓模式,它简化了开拓和日益庞大的应用和维护事情。

Velocity 最擅长做哪些方面的事情呢?

1: 基于 servlet 的网站建造

2: Java 和 Sql 代码生成

3: XML 处理惩罚和转换

4: 文字处理惩罚,好比生成 TRF 文件。

不外 Velocity 用的最多的照旧在基于 Java servlet 的网页措施中作生成网页的引擎,以替代 JSP 等技能。 除了较量容易利用外, 它提供了强大的模板语言以显示和操纵数据,可是不是生成数据,这点很重要, 因为这个事情应该是措施逻辑的部门。 Velocity 很是适合在 J2EE (Java 2 Platform, Enterprise Edition) 的网站开拓中充当替代 jsp 做输出页面的技能事情,固然 JSP 包括在 j2ee 的类型中,其实 j2ee 自己并不需要 jsp .

Velocity 是如何事情的呢? 固然大多 Velocity 的应用都是基于 Servlet 的网页建造。可是为了说明 Velocity 的利用,我抉择回收更通用的 Java application 来说明它的事情道理。

好像所有语言解说的开头都是回收 HelloWorld 来作为第一个措施的示例。这里也不破例。

任何 Velocity 的应用都包罗两个方面:

第一是: 模板建造,织梦模板,在我们这个例子中就是 hellosite.vm:

它的内容如下(固然不是以 HTML 为主,可是这很容易改成一个 html 的页面)

Hello $name! Welcome to $site world!第二是 Java 措施部门:

下面是 Java 代码

import java.io.StringWriter;

import org.apache.velocity.app.VelocityEngine;

import org.apache.velocity.Template;

import org.apache.velocity.VelocityContext;

public class HelloWorld

{

public static void main( String[] args )

throws Exception

{

/* first, get and initialize an engine */

VelocityEngine ve = new VelocityEngine();

ve.init();

/* next, get the Template */

Template t = ve.getTemplate( "hellosite.vm" );

/* create a context and add data */

VelocityContext context = new VelocityContext();

context.put("name", "Eiffel Qiu");

context.put("site", "http://www.eiffelqiu.com");

/* now render the template into a StringWriter */

StringWriter writer = new StringWriter();

t.merge( context, writer );

/* show the World */

System.out.println( writer.toString() );

}

}将两个文件放在同一个目录下,编译运行,功效是:

Hello Eiffel Qiu! Welcome to world

为了担保运行顺利,请从 Velocity 的网站 上下载 Velocity 的运行包,将个中的 Velocity Jar 包的路径放在系统的 Classpath 中,这样就可以编译和运行以上的措施了。

这个措施很简朴,可是它能让你清楚的相识 Velocity 的根基事情道理。措施中其他部门根基上很牢靠,最主要的部门在以下代码

这里 Velocity 获取模板文件,获得模板引用

/* next, get the Template */

Template t = ve.getTemplate( "hellosite.vm" );这里,初始化情况,并将数据放入情况

/* create a context and add data */

VelocityContext context = new VelocityContext();

context.put("name", "Eiffel Qiu");

context.put("site", "http://www.eiffelqiu.com");其他代码较量牢靠,可是也很是重要,可是对付每个应用来说写法都很沟通:

这是初始化 Velocity 模板引擎

/* first, get and initialize an engine */

VelocityEngine ve = new VelocityEngine();

ve.init();这是用来将情况变量和输出部门团结。

StringWriter writer = new StringWriter();

t.merge( context, writer );

/* show the World */

System.out.println( writer.toString() ); 记着,这在未来的 servlet 应用中会有所区别,因为网页输出并反面呼吁行输出沟通,假如用于网页输出,将并不通过 System.out 输出。这会在今后的教程中给各人表明的。

那让我来总结一下 Velocity 真正的事情道理: 感谢支持织梦之家,你的支持,我们的无限动力!!!

“DEDECMS教程”欢迎分享!:

相关标签:使用(139)模板(394)如何(215)网站(967)开发(36)引擎(8)velocity(3)

顶一下
(0)
0%
踩一下
(0)
0%

欢迎您报错,或提出宝贵建议,我们将第一时间处理,为大家营造一个良好网上交流平台,感谢支持织梦之家!

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片