Jamon模板语言简介

项目中需要扒一段hbase webUI页面的内容,hbase webUI页面访问地址10.x.x.x:60010/master-status,跟踪代码后发现,此web页面使用了一个jamon的模板语言,这个做个简单介绍。

既然是模块语言,都不会太复杂,要不然谁用,切入正题

一、Jamon简介

Jamon是一个Java文本模板引擎,用于生成动态HTML, XML,或任何基于文本的内容。它有一个丰富的功能集,支持封装,参数化,功能分解,表达逻辑重用。模板声明它们要求生成的参数,包括动态模板内容("fragments"),并被翻译成带有公有方法的Java类,它的符号反映了在模板中声明的参数。

二、简单使用

1、创建Jamon模板文件(QsTemp.jamon)

<%args>
  java.util.Date date;
  String [] s;
</%args>
Hello, world on <% date %>.
The arguments are:
<%java int l = s.length; %>
<%for int i = 0; i < l; ++i %>
<% s[i] %>
</%for>

2、创建java文件(JamonQs.java)

import java.io.OutputStreamWriter;
import java.io.IOException;
import java.util.Date;

public class JamonQs {
  public static void main(String[] argv) throws IOException {
    QsTemp template = new QsTemp();
    template.render(new OutputStreamWriter(System.out), new Date(0),argv);
  }
}

3、将jar包加入到classpath目录下

export CLASSPATH=.:/path/to/jamon-runtime.jar:/path/to/jamon-api.jar:/path/to/jamon-processor.jar

4、处理模板文件

java org.jamon.compiler.TemplateProcessor --destDir=. QsTemp

5、编译

javac JamonQs.java QsTemp*.java

6、执行

java JamonQs one two three

7、执行结果

Hello, world on Wed Dec 31 17:00:00 MST 1969.
The arguments are:

one

two

three

jamon官方地址  http://www.jamon.org/

时间: 2024-08-29 08:00:25

Jamon模板语言简介的相关文章

《开源框架那点事儿23》:Tiny模板语言(VelocityPlus)初步入门

2 Tiny模板语言概述 3 Tiny模板语言能为您做什么? 4 Tiny模板语言简介 5 Hello Tiny! 6 注释 7 引用(References) 7.1 变量(variables) 7.2 属性(properties) 7.3 方法(methods) 8 表达式(Expression) 8.1 取值表达式 8.2 Map常量 8.3 数组常量 8.4 其他表达式 9 索引表示法 10 渲染 11 与Java无缝对接 12 模板布局 13 指令集 13.1 #set指令 13.2 条

Tiny模板语言(VelocityPlus)初步入门

1 关于用户手册 本文主要介绍如何在模板中使用Tiny模板语言,通过查阅本手册,可以对Tiny模板语言 TTL(Tiny Template Language)的用法有一个较全面的认识,并学会如何有效地使用Tiny模板语言.同时,本文提供了较多的例子帮您来学习并掌握它. 2 Tiny模板语言概述 Tiny 模板语言是一个参考Velocity语法的模板语言,它对Velocity模板语言中一些功能不太完全及使用过程中比较不方便的地方进行全面的扩展和升级,同时为了更好的适应Web界面层的开发,还提供了强

【Java模板语言】TinyTemplate 实战 &lt;一&gt;:Serlvet集成

Writer      :BYSocket(泥沙砖瓦浆木匠) 一.什么是TinyTemplate 什么是模板语言? 模板语言是为了使用户界面与业务数据(内容)分离而产生的,并能生成特定格式的文档. 什么是TinyTemplate?(开源项目地址入口) Tiny模板引擎是一个基于Java技术构建的模板引擎,它具有体量小.性能高和扩展易的特点. 适合于所有通过文本模板生成文本类型内容的场景,如:XML.源文件.HTML等等,可以说,它的出现就是为了替换Velocity模板引擎而来,因此在指令集上在尽

计算机程序和C++语言简介

C++程序设计 第一章 计算机程序和C++语言简介 1.计算机是一台能够存储并处理数据的电子设备,包含硬件和软件两部分. 2.计算机硬件由: 1)中央处理单元(Central Processing Unit,CPU) 2)内存(主存) 3)外存储设备(磁盘.光盘.磁带) 4)输入输出设备(显示器.键盘.鼠标.打印机) 5)通信设备(调制解调器.网卡) 这些设备通过总线连接起来.数据传输通过总线进行.[总线又分为控制总线.数据总线.地址总线] 3.CPU 1)cpu通常由两部分组成:控制单元(co

WQL语言简介和WQL测试工具wbemtest.exe使用方法详细介绍

这篇文章主要介绍了WQL语言简介和WQL测试工具wbemtest.exe使用方法详细介绍,WQL是指Windows管理规范查询语言,需要的朋友可以参考下 WQL就是WMI中的查询语言,WQL的全称是WMI Query Language,简称为WQL,翻译成中文好像可以成为Windows管理规范查询语言.熟悉SQL语言的朋友会感觉它和SQL非常相似. WQL其实非常简单,它有如下特点:1.每个WQL语句必须以SELECT开始:2.SELECT后跟你需要查询的属性名(我刚才对应SQL将其称之为字段名

【Flask】 Jinja2模板语言

Jinja2 Jinja2是Python Web编程中的主流模板语言.因为flask是基于Jinja2和Werkzeug发展而来,在安装flask的时候jinja2自动就被装在上面了. 之前提到了很多Jinja2的使用方法啊,下面将补充或者更加详细地说明Jinja2作为模板语言的使用. [Jinja2官方文档]http://docs.jinkan.org/docs/jinja2/ ■ 基本语义 看过之前模板的例子就知道,Jinja2做构成的模板文件中,文本内容大致可以分成几个种类.比如特殊文本(

jango模板语言初识

一.Django框架简介 1.MVC框架 MVC,全名是Model View Controller,是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller), 具有耦合性低.重用性高.生命周期成本低等优点. 2.Django的MTV模式 Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间的耦合性. Django框架的不同之处在于它拆分的三部分为:Model(模型).Template(模板)和

1. Go 语言简介

Go语言简介 引用原文地址:http://m.biancheng.net/golang/ Go语言也称 Golang,兼具效率.性能.安全.健壮等特性.这套Go语言教程(Golang教程)通俗易懂,深入浅出,既适合没有基础的读者快速入门,也适合工作多年的程序员查阅知识点. 这套教程在讲解一些知识点时,将 Go 语言和其他多种语言进行对比,让掌握其它编程语言的读者能迅速理解 Go 语言的特性. Go语言从底层原生支持并发,无须第三方库.开发者的编程技巧和开发经验就可以轻松搞定. Go 语言是一门新

Django模板语言小记

1.blog.views.py  # Create your views here. from django.template import loader,Context from django.http import HttpResponse from blog.models import BlogPost def archive(request):     posts = BlogPost.objects.all()     t = loader.get_template('archive.