zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【Java模板语言】TinyTemplate 实战 <一>:Serlvet集成

JAVA集成模板语言 实战 gt lt
2023-09-14 08:57:56 时间

模板语言是为了使用户界面与业务数据(内容)分离而产生的,并能生成特定格式的文档。

什么是TinyTemplate?(开源项目地址入口

Tiny模板引擎是一个基于Java技术构建的模板引擎,它具有体量小、性能高和扩展易的特点。 适合于所有通过文本模板生成文本类型内容的场景,如:XML、源文件、HTML等等,可以说,它的出现就是为了替换Velocity模板引擎而来,因此在指令集上在尽量与Velocity接近的同时,又扩展了一些Velocity不能很好解决问题的指令与功能,在表达多方面则尽量与Java保持一致,所以非常地易学易用。

1. 体量小表现在总共不到5000多行的代码,去掉解析器近1000行,核心引擎只有4000多行代码。

2. 性能高表现在与现在国内几款高性能模板引擎如:Jetbrick、Webit等引擎的性能相比,近乎伯仲之间,但是比Velocity、Freemarker等则有长足的进步,效率大致是Velocity四倍。

3. 扩展性表现在Tiny框架引擎的所有环境都可以自行扩展,并与原有体系进行良好统一。

4. 易学习表现在Tiny框架概念清晰、模块划分科学、具有非常高的高内聚及低耦合。

5. 使用方式灵活表现在,可以多例方式、单例方式,并可以与Spring等有良好集成。

6. 友好的错误提示信息。


简要特点介绍:

1. 类似于 Velocity 的指令方式,相同或相似指令达90%左右

2. 支持可变参数方法调用

3. 支持类成员方法重载

4. 支持函数扩展

5. 采用弱类型方式,对于模板层的代码编写约束更小,模型层怎样变化,模板层的代码调整都非常容易

6. 支持宏定义#macro

7. 支持布局#layout

二、与Servlet集成,运行Hello,World

1. 新建一个quickstart.servlettemplate maven项目

在Eclipse中,new — Maven Project — “maven-archetype-quickstart“ …

在pom.xml添加对tinyTemplate的依赖:

 !-- 模板引擎对servlet的扩展依赖 -- 

 dependency 

 groupId org.tinygroup /groupId 

 artifactId org.tinygroup.templateservletext /artifactId 

 version 2.0.26 /version 

 /dependency 
如上代码,重写TinyServlet的handleRequest方法即可,然后在里面进行逻辑处理,return返回index.page。 4. 添加default.layout和index.page default.layout:
 !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"

 "http://www.w3.org/TR/html4/strict.dtd" 

 !--[if IE 7 ] html lang="en-US" ![endif]-- 

 !--[if IE 8 ] html lang="en-US" ![endif]-- 

 !--[if IE 9 ] html lang="en-US" ![endif]-- 

 !--[if (gt IE 9)|!(IE)] !-- 

 html lang="en-US" !-- ![endif]-- 

 html lang="en" 

 head 

 meta charset="utf-8"/ 

 title ${pageTitle} /title 

 script 

 var contextPath = "${TINY_CONTEXT_PATH}";

 var CKEDITOR_BASEPATH = contextPath+/ckeditor/;

 jQuery.fn.outerHTML = function(s) {

 return (s) ? this.before(s).remove() : jQuery("p").append(this.eq(0).clone()).html();

 /script 


#if(DEBUG_MODE DEBUG_MODE=="true") #foreach(component in uiengine.getHealthUiComponents()) !--UI component $component.name start -- #if(component.cssResource) #set(resources=component.cssResource.split(",")) #foreach(path in resources) #set(path=path.trim()) #set(newPath=path.replaceAll("[$][{]TINY_THEME[}]","${TINY_THEME}")) link href="${TINY_CONTEXT_PATH}${newPath}" rel="stylesheet" / #end #end #if(component.jsResource) #set(resources=component.jsResource.split(",")) #foreach(path in resources) #set(path=path.trim()) script src="${TINY_CONTEXT_PATH}${path}" /script #end #end #if(component.jsCodelet) script $!{component.jsCodelet} /script #end #if(component.cssCodelet) style $!{component.cssCodelet} /style #end #end #else link href="${TINY_CONTEXT_PATH}/uiengine.uicss" rel="stylesheet" / script src="${TINY_CONTEXT_PATH}/uiengine.uijs" /script #end /head body #pageContent /body /html
index.page:
${name},欢迎来到Tiny的世界! 时间:${date}

5. 运行项目,右键项目 run as — maven build — “jetty:run”。访问 localhost:8080/项目名/index image

1、TinyTemplate的简介与特点

2、TinyTemplate与Servlet的配置(下一讲与SpringMVC的配置)

3、TinyTemplate最简单的也是最常用的取值语法${}


Java语言的基本类型 java四类八种基本数据类型 第一类:整型 byte short int long 第二类:浮点型 float double 第三类:布尔型 boolean(它只有两个值可取true false) 第四类:字符型 char
云计算的云医疗信息系统(云HIS) 前端Angular语言,后端Java语言开发 本套基于云计算的云医疗信息系统(云HIS)。以SaaS的方式提供服务,系统遵循服务化、模块化原则开发,具有强大的可扩展性,二次开发方便快捷。系统采用前后端分离架构,前端由Angular语言、JavaScript开发;后端使用Java语言开发。融合B/S版电子病历系统,支持电子病历四级。系统运行稳定、功能齐全,界面布局合理、操作简便。
云his系统源码 前端由Angular语言、JavaScript+后端Java语言开发 基层卫生健康云HIS系统采用云端SaaS服务的方式提供,使用用户通过浏览器即能访问,无需关注系统的部署、维护、升级等问题,系统充分考虑了模板化、配置化、智能化、扩展化等设计方法,覆盖了基层医疗机构的主要工作流程,能够与监管系统有序对接,并能满足未来系统扩展的需要。 适用于二级医院、基层医疗机构,可作为区域HIS使用,经扩展后能够应用于医联体/医共体。融合B/S版电子病历系统,支持电子病历四级,HIS与电子病历系统均拥有自主知识产权。
二哥聊RPA 公号「二哥聊RPA」。关注我,一起洞察 RPA ◎ RPA创业者 ◎ 现明堂红木商业顾问,为十月结晶、可啦啦、鑫蜂维等多家企业提供 RPA 咨询服务 ◎ 希望帮助大家在 RPA 上做一些力所能及的事情