StringTemplate

王朝百科·作者佚名  2010-04-04  
宽屏版  字体: |||超大  

定义StringTemplate(简称ST)是一个基于Java的模板引擎库(目前同时支持C#、Python、Ruby),可以用于生成源代码、Web页面、电子邮件等各种有格式的文本。StringTemplate不同于其他类似的模板引擎的显著特点是严格执行模型视图分离,尤其擅长多目标代码生成、多种网站风格管理以及网站多语言版本生成等。StringTemplate已经应用到许多大型网站中,例如jGuru.com。

特点使用StringTemplate可以严格保证业务逻辑和表现逻辑相分离,不会互相干扰,提高网站的开发和维护的效率。模型和视图分离所带来的优点包括:模板文件可以在相似的网站开发中重用,清晰的模板文件可以做为网站开发的说明文档,模板文件可以单独修改。

基本语法StringTemplate支持两种分隔符<...>和$...$语法

描述

例子

<attribute>

显示变量值或空串

$user$

<user>

<attribute.property>

显示集合或对象的属性值或空串

$user.name$

<user.name>

<attribute.(expr)>

与<attribute.property> 意义相同,但是如果expr是保留字,则必须使用<attribute.(expr)>

$user.(name_label)$

<user.(name_label)>

<multi-valued-attribute>

集合中多个属性连接在一起的值

$users$

<users>

<multi-valued-attribute; separator=expr>

多个属性连接在一起,属性之间使用expr分隔

$users; separator=", "$

<users; separator=", ">

<template(argument-list)>

调用其它模板,可以向该模板传递参数

$bold()$

<bold(item=title)>

<attribute:template(argument-list)>

模板应用

$name:bold()$

<name:checkoutReceipt(items=skus, ship=shipOpt)>

<attribute:{argument-name_ | _anonymous-template}>

应用匿名模板

$users:{s|<li>$s$</li>}; separator="

"$

<users:{s|<li>$s$</li>}; separator="

">

<if(!attribute)>subtemplate<endif>

条件语句

$if(users)$ $users:{u|$u$}$ $endif$

<if(users)> <users:{u|<u>}> <endif>

$ or <

语法分隔符的转义表达

$

<

< >, <

>, <>, <

>

转义字符

$

$

<

>

<! comment !>, $! comment !$

注释符号

$! this is a comment !$

<! this is a comment !>

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有