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


«October 2025»
1234
567891011
12131415161718
19202122232425
262728293031


公告

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


我的分类(专题)

日志更新

最新评论

留言板

链接

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




[template engine]html模版生成器 
原创空间,  软件技术,  电脑与网络

邢红瑞 发表于 2007/5/26 14:09:20

本来打算做一个sql生成器,后来这样一个东东.package test; import org.antlr.stringtemplate.StringTemplate; public class OperatorSample {     public static void main(String[] args) {        call();    }       public static void call() {        String[] col = new String[]{"data","1","2","3","4", "5"};                StringTemplate st = new StringTemplate(            "$first(col):{it|<table>\n<tr>\n<th>$it$</th>\n}$"            + "$rest(col):{it|<td>$it$</td>\n}$"            + "$last(col):{it|\n</tr>\n</table>\n}$"            );        st.setAttribute("col", col);        System.out.println(st.toString());        }} package test; /** * * @author hongrui xing */import org.antlr.stringtemplate.StringTemplate;import org.antlr.stringtemplate.StringTemplateGroup;public class AccessAttributes {        /** Creates a new instance of AccessAttributes */    public AccessAttributes() {    }    public static void main(String[] args) {        call1();    }        public static void call1() {        // Accessing Attribute Of Enclosing Template                StringTemplateGroup group = new StringTemplateGroup("html");        group.defineTemplate("record", "<tr><td>$name:{<li>$it$</li>\n}$</td></tr>");        group.defineTemplate("table", "<table>$record():{$it$}$</table>");        StringTemplate st = group.getInstanceOf("table");        st.setAttribute("name","党莹");        st.setAttribute("name","伍燕");        System.out.println(st.toString());            }}带自动变量的package test; /** * * @author hongrui xing */import org.antlr.stringtemplate.StringTemplate;import org.antlr.stringtemplate.StringTemplateGroup;public class MultiValuedAttributes {        /** Creates a new instance of MultiValuedAttributes */    public MultiValuedAttributes() {    }    public static void main(String[] args) {        call1();        call2();    }        public static void call1() {        // Applying Templates To Multi-Valued Attributes                StringTemplateGroup group = new StringTemplateGroup("html");        group.defineTemplate("record", "<tr><td>$it$</td></tr>\n");        group.defineTemplate("table", "<table>\n$name:record()$</table>");        StringTemplate st = group.getInstanceOf("table");        st.setAttribute("name","忽忽湖");        st.setAttribute("name","多多");                System.out.println(st.toString());            }        public static void call2() {        // Applying Templates To Multi-Valued Attributes                StringTemplateGroup group = new StringTemplateGroup("html");        group.defineTemplate("record", "<tr><td>$i$</td><td>$it$</td></tr>\n");        group.defineTemplate("table", "<table>\n$name:record()$</table>");        StringTemplate st = group.getInstanceOf("table");        st.setAttribute("name","忽忽湖");        st.setAttribute("name","多多");        System.out.println(st.toString());            }}  package test; /** * * @author hongrui xing */import org.antlr.stringtemplate.StringTemplate;import org.antlr.stringtemplate.StringTemplateGroup;public class AlternatingTemplate {        /** Creates a new instance of AlternatingTemplate */    public AlternatingTemplate() {    }    public static void main(String[] args) {        call1();    }       public static void call1() {        // Applying Alternating Templates To Multi-Valued Attributes               StringTemplateGroup group = new StringTemplateGroup("html");        group.defineTemplate("green", "<tr><td color=\"green\">$it$</td></tr>\n");        group.defineTemplate("blue", "<tr><td color=\"blue\">$it$</td></tr>\n");        group.defineTemplate("table", "<table>\n$name:green(),blue()$</table>");        StringTemplate st = group.getInstanceOf("table");        st.setAttribute("name","十一");        st.setAttribute("name","北碚");        st.setAttribute("name","海蕾");        st.setAttribute("name","赛期风");        System.out.println(st.toString());        }}package test; /** * * @author hongrui xing */import org.antlr.stringtemplate.StringTemplate;import org.antlr.stringtemplate.StringTemplateGroup;public class MultipleAttribute {        /** Creates a new instance of MultipleAttribute */    public MultipleAttribute() {    }    public static void main(String[] args) {        call1();    }       public static void call1() {        // Anonymous template application to multiple attributes              StringTemplateGroup group = new StringTemplateGroup("html");        group.defineTemplate("table", "<table>\n$name, age:{n, a|<tr><td>$n$</td><td>$a$</td></tr>\n}$</table>");        StringTemplate st = group.getInstanceOf("table");         st.setAttribute("name","十一");        st.setAttribute("name","北碚");        st.setAttribute("name","海蕾");        st.setAttribute("name","赛期风");        st.setAttribute("age","10");        st.setAttribute("age","8");        st.setAttribute("age","4");        st.setAttribute("age","2");        System.out.println(st.toString());        } }


阅读全文(6933) | 回复(0) | 编辑 | 精华
 



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



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

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