| String Template |
StringTemplate query = new StringTemplate("SELECT $column$ FROM $table$;");
query.setAttribute("column", "name");
query.setAttribute("table", "User");
query.toString() === "SELECT name FROM User;"
|
|---|---|
| Slippers |
template = Slippers::Engine.new("SELECT $column$ FROM $table$;")
template.render(:column => "name", :table => "User") === "SELECT name FROM User;"
|
| String Template |
StringTemplateGroup group = new StringTemplateGroup("myGroup", "/tmp");
StringTemplate query = group.getInstanceOf("theQuery");
query.setAttribute("column", "name");
query.setAttribute("column", "email");
query.setAttribute("table", "User");
query.toString()
|
|---|---|
| Slippers |
template_group = Slippers::TemplateGroupDirectory.new(['tmp'])
query = template_group.find('theQuery')
st = Slippers::Engine.new(template_group)
st.render(:column => ["name", "email"], :table => "User")
|
| String Template |
String templates = "group simple; vardef(type,name) ...";
StringTemplateGroup group = new StringTemplateGroup(new StringReader(templates));
StringTemplate t = group.getInstanceOf("vardef");
t.setAttribute("type", "int");
t.setAttribute("name", "foo");
|
|---|---|
| Slippers |
templates = {:vardef => "...", :method => "..."}
group = Slippers::TemplateGroup.new(:templates => templates)
t = group.find(:vardef)
t.render(:type => "int", :name => "foo")
|
| String Template |
StringTemplateGroup supergroup = new StringTemplateGroup("super");
StringTemplateGroup subgroup = new StringTemplateGroup("sub");
supergroup.defineTemplate("bold", "$it$");
subgroup.setSuperGroup(supergroup);
StringTemplate st = new StringTemplate(subgroup, "$name:bold()$");
st.setAttribute("name", "Terence");
st.toString() === "Terence";
|
|---|---|
| Slippers |
supergroup = Slippers::TemplateGroup.new(:templates => {:bold => "$it$"})
subgroup = Slippers::TemplateGroup.new(:templates => {}, :super_group => supergroup)
st = Slippers::Engine.new("$name:bold()$", :template_group => template_group)
st.render(:name => "Sarah") === Sarah
|
| String Template |
public class DateRenderer implements AttributeRenderer {
public String toString(Object o) {
SimpleDateFormat f = new SimpleDateFormat("yyyy.MM.dd");
return f.format(((Calendar)o).getTime());
}
}
...
StringTemplate st =new StringTemplate("date: $created$");
st.setAttribute("created", new GregorianCalendar(2005, 07-1, 05));
st.registerRenderer(GregorianCalendar.class, new DateRenderer());
String expecting = "date: 2005.07.05";
String result = st.toString();
|
|---|---|
| Slippers |
class DateRenderer
def render(date)
date.year + "." + date.month + "." + date.day
end
end
...
template_group = Slippers::TemplateGroup.new(:templates => {Date => DateRenderer.new})
engine = Slippers::Engine.new("date: $created$", :template_group => template_group)
engine.render(:created => Date.new(2005,7,5)).should eql("date: 2005.07.05")
ALSO
template_group = Slippers::TemplateGroup.new(:templates => {:date => DateRenderer.new})
engine = Slippers::Engine.new("date: $created:date()$", :template_group => template_group)
engine.render(:created => Date.new(2005,7,5)).should eql("date: 2005.07.05")
|
| String Template |
$values; null="-1", separator=", "$ |
|---|---|
| Slippers |
template = 'This is a list of values $values; null="-1", seperator=", "$' engine = Slippers::Engine.new(template) engine.render(:values => [1,2,3,nil]) === "This is a list of values 1, 2, 3, -1" |
| String Template |
$if(member)$ $gutter/top_gutter_logged_in()$ $else$ $gutter/top_gutter_logged_out()$ $endif$ |
|---|---|
| Slippers |
$if(member)$ $gutter/top_gutter_logged_in()$ $else$ $gutter/top_gutter_logged_out()$ $endif$ |