本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:邢红瑞的blog
日志总数:523
评论数量:1142
留言数量:0
访问次数:9693847
建立时间:2004年12月20日




[template engine]StringTemplate的使用
原创空间,  软件技术,  电脑与网络

邢红瑞 发表于 2005/1/11 16:53:38

1 变量替换public static void fun1() {  StringTemplate st = new StringTemplate(    "对象变量替换 姓名:$KeyList.Name$, 年龄:$KeyList.Age$ ");  HashMap ht = new HashMap();  ht.put("Name", "李四");  ht.put("Age", "35");  st.setAttribute("KeyList", ht);  System.out.print(st.toString()); }2 自定义集合替换public static void fun2() {  StringTemplate st = new StringTemplate(    "自定义集合替换 $List:{姓名:$it.Name$ 年龄:$it.Age$}$");  st.setAttribute("List.{Name,Age}", "王二", "29");  System.out.print(st.toString());  }3 对象变量替换定义类private static class User {  String name;  String age;   public String getName() {   return name;  }   public void setName(String name) {   this.name = name;  }   public String getAge() {   return age;  }   public void setAge(String age) {   this.age = age;  } }public static void fun3() {  User us = new User();  us.name = "张三";  us.age = "23";  List<User> uss = new ArrayList<User>();  uss.add(us);  uss.add(us);  uss.add(us);  uss.add(us);  uss.add(us);  StringTemplate st = new StringTemplate(    "<table>$Item:{<tr class=black><td>$it.name$</td></tr>},{<tr class=red><td>$it.age$</td></tr>};separator=\"\n\"$</table>");  st.setAttribute("Item", uss);  System.out.print(st.toString()); }   交叉替换 public static void fun4() {  User us = new User();  us.name = "张三";  us.age = "23";  List<User> uss = new ArrayList<User>();  uss.add(us);  uss.add(us);  uss.add(us);  uss.add(us);  uss.add(us);   StringTemplateGroup sg = new StringTemplateGroup("GroupTest");  sg.defineTemplate("RowRed",    "<tr class=red><td>$it.Name$</td><td>$it.Age$</td></tr>\n");  sg.defineTemplate("Rowblack",    "<tr class=black><td>$it.Name$</td><td>$it.Age$</td></tr>\n");  StringTemplate st = sg.defineTemplate("List",    "<table>$Item:RowRed(),Rowblack()$</table>");  st.setAttribute("Item", uss);  System.out.print(st.toString()); }4 条件判断public static void fun5() {  StringTemplate st = new StringTemplate(    "当前用户登陆状态: $if(IsAdmin)$ 用户登陆成功! $else$ 用户没有登陆! $endif$");  st.setAttribute("IsAdmin", true);  System.out.print(st.toString()); }5 sql语句实现  theQuery.st内容  SELECT $column; separator=","$ FROM $table$;  public static void fun6() {  // 一个sql语句的实现  StringTemplateGroup group = new StringTemplateGroup("myGroup", "c:/");  StringTemplate query = group.getInstanceOf("theQuery");  query.setAttribute("column", "name");  query.setAttribute("column", "email");  query.setAttribute("table", "User");  System.out.print(query.toString()); }6 使用AttributeRenderer  private static class DateRenderer implements AttributeRenderer {  public String toString(Object o) {   SimpleDateFormat f = new SimpleDateFormat("yyyy.MM.dd");   return f.format(((Calendar) o).getTime());  } }public static void fun7() {  StringTemplate st = new StringTemplate("date: <created>",    AngleBracketTemplateLexer.class);  st.setAttribute("created", new GregorianCalendar(2005, 07 - 1, 05));  st.registerRenderer(GregorianCalendar.class, new DateRenderer());   String result = st.toString();   System.out.print(result.toString()); }


阅读全文(7332) | 回复(1) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.051 second(s), page refreshed 144758118 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号