模板引擎概述
1、模板技术:从模型中分离视图的一种手段,可以降低应用程序的维护成本
2、Java语言具有VeLocity和FreeMarker等
3、模板引擎与XSLT很类似
4、可以创建一个模板,包含一些占位符,在运行时替换为实际的值。模板引擎然后可以通过读取该模板并在这些占位符和运行时的值之间家里映射来实现对模板的转换。
5、
定义模板toy_xml.template
<toy>
<toyname>${toyname}</toyname>
<unitPrice>${unitPrice}</unitPrice>
</toy>
${} ->就是占位标示符,{}中的是占位符参数
实例化模板
1、
import groovy.text.Template
import groovy.text.SimpleTemplateEngine
import java.io.file
class ToyTemplateOutXml{
static voID main(args){
def file = new
file('toy_xml.template')
def binding= ['toyname':'toy1',unitPrice:'100']
def engine = new SimpleTemplateEngine()
def template = engine.createTemplate(file).make(binding)
prinltn template.toString()
}
}
例子1:
1、toy_HTML.template
<HTML>
<head>
<Title>${Title}>/Title>
</head>
<body>
<talbe>
<th>Toy name</th><th>Unit Price</th>
<%for(toy in toys){%>
<tr>
<td>${toy.toyname}</td>
<td>${toy.unitPrice}</td>
</tr>
<%}%>
</table>
</body>
</HTML>
2、ToyTemplateOutHTML.groovy
class ToyTemplateOutHTML{
static voID main(args){
def toys=[]
def file = new file('toy_HTML.template')
def toy1= new Toy(toyname:'toy1',unitPrice:'100')
def toy2= new Toy(toyname:'toy2',unitPrice:'200')
def toy3= new Toy(toyname:'toy3',unitPrice:'300')
toys <<toy1<<toy2<<toy3
def binding =['toys':toys,'Title':'display Toy!']
def engine = new SimpleTemplateEngine()
def template = engine.createTemplate(file).make(binding)
println template.toString()
def outHTML = new file('toy.HTML')
if(outHTML.exists()){
outHTML.delete()
}
outHTML.append(template)
}
}
例子2:
1、toy_HTML_sql.template
<HTML>
<head>
<Title>${Title}</Title>
</head>
<body>
<table>
<th>Toy name</th><th>Unit Price</th>
<%sql.eachRow("select * from toys"){toy -> %>
<tr>
<td>${toy.toyname}</td>
<td>${toy.unitPrice}</td>
</tr>
<%}%>
</table>
</body>
</HTML>
2、ToyTemplatesqlOutHTML.groovy
class ToyTemplatesqlOutHTML{
static voID main(args){
def file = new file('toy_HTML_sql.template')
def db = '...' ; def user = '...' ; def password = '...' def driver = '...'
def sql = sql.newInstance(db,user,password,driver)
def binding = ['sql': sql,'Title':'display Toy!']
def template = engine.createTemplate(file).make(binding)
println template.toString()
def outHTML = new file('toy.HTML')
if(outHTML.exists()){
outHmlt.delete()
}
outHTML.append(template)
}
}
总结以上是内存溢出为你收集整理的Groovy笔记(11)_模板技术全部内容,希望文章能够帮你解决Groovy笔记(11)_模板技术所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)