GFreeMarker is
an integration of the FreeMarker template engine for Groovy |
Cedric Champeau <cedric dot champeau at lingway dot com>
Pending.
None.
Imagine your customer requires an URL Encoding text transform, and that FreeMarker does not offer this transformation. Then, you would just need to :
That's all ! Now your customer can access it quite directly in the template. For example :
<@groovy plugin="urlencoder">this is an expression that will be converted to its URL Encoding form</@groovy> |
Here's a sample plugin which converts a string through URL encoder :
import org.codehaus.groovy.gfreemarker.IGroovyFreeMarkerPlugin
class urlencoder implements IGroovyFreeMarkerPlugin {
String transform(Map params, String content) {
URLEncoder.encode(content);
}
}
|
Here's a sample code which shows how easy it is to embed FreeMarker as a template engine for Groovy.
import org.codehaus.groovy.gfreemarker.FreeMarkerTemplateEngine
def tpl = '''
Hello, ${user.name}
<@groovy plugin="urlencoder" mode=user>this is a test ${user.name}</@groovy>'''
def engine = new FreeMarkerTemplateEngine("plugins")
def binding = ["user" : ["name":"cedric"]]
println engine.createTemplate(tpl).make(binding)
|
This code assumes a directory called plugins is in the working directory. The template engine will dynamically load the ''urlencoder'' class.
http://svn.codehaus.org/groovy-contrib/gfreemarker/trunk/
GFreeMarker uses Maven2 as its build tool. Follow the instructions at http://maven.apache.org or install an IDE which has Maven 2 support (I personally use IntelliJ IDEA 7).
Feel free to contribute, as I don't have much time to spend on this project.
http://groovy.codehaus.org/Mailing+Lists
N/A