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$ |