Gracelets视图/控制器技术
Gracelets = Groovy + Facelets
为了解决一个特殊问题,你可以定义自己的DSL,Raven使用DSL来写build脚本,但你可以使用DSL来生成XML内容,RSS内容,HTML页,SQL语句,建立swing应用或执行单位换算。
但什么是Gracelets?它是做什么的?
Gracelets是一种视图/控制器技术,工作于JSP/Facelets之上,它允许使用DSL写你自己的视图,有了Gracelets,你就可以用比实际JSF/Facelets页更少的代码来写你的应用程序视图。
实际上,一般你会使用以下的代码来写一个简单的JSF/Facelets页:
<?xml version=‘1.0′ encoding=‘iso-8859-1′?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html">
<head>
<title>Hello World Example</title>
</head>
<body>
<h:outputLink value="http://somesite/somepage">
<h:graphicImage url="someimg.png" border="0"/>
</h:outputLink>
</body>
</html>
使用Gracelets,你只需写:
xh.html {
head { title("Hello World Example") }
body {
xh.a(href: "http://somesite/somepage") {
h.graphicImage(url: "someimg.png", style: "border: 0")
}
}
}
很简单,对吧?
你对Gracelets有兴趣了吗?别着急,你可以通过这里查看它的一些例子程序。