论坛首页 Java企业应用论坛

强类型的XHTML页面模板

浏览 2666 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-12-01  
最近跟强类型干上了,呵呵。拿JAVA5的语法和CGLIB小试了一把,试验成果如下:
public abstract class DemoPage implements XHTMLToolkit {
	
	public Element content(String pageTitle) {
		return html(xmlns("http://www.w3.org/1999/xhtml")).$(
			head().$(
				title(pageTitle)
			),
			body().$(
				table()	
			)
		);
	}

	public static void main(String[] args) {
		Element content = PageRender.render(DemoPage.class).content("hello");
		System.out.println(content);
	}
}

执行结果如下
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>hello</title>
  </head>
  <body>
    <table>
    </table>
  </body>
</html>

优点:
1、模板引用的变量是强类型,重构安全
2、强制XHTML规范,比如把table()放在html下就会出类型错误。
3、强制括号匹配
4、任意scripting

缺点:
1、无法可视化编辑,与美工的团队协作(纯靠CSS。。。)
2、灵活性(只支持XHTML)

由于产生出了整个DOM。所以可以用Java操作DOM,然后利用Instrumention在JVM启动的时候做二次编译,把Java操作DOM的代码编译成Javascript。不过这样做难度要高过GWT了,因为GWT是编译Java源代码的,如果用Instrumention来做的话,就变成了拿Java的字节码做源代码来编译出对等的Javascript了。只有理论上的可能性……
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics