`
taowen
  • 浏览: 193875 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

强类型的XHTML页面模板

阅读更多
最近跟强类型干上了,呵呵。拿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了。只有理论上的可能性……
分享到:
评论

相关推荐

    漂亮的通用后台 html模板 静态模板 后台模板

    2. **通用性**:这里的“通用”意味着模板适用于各种类型的后台系统,无论其功能如何。这意味着模板需要具备良好的灵活性和可扩展性,能够适应不同的业务需求和数据展示方式。 3. **静态模板**:静态模板没有动态...

    WEB开发 之 XHTML 语法.docx

    一个简单的XHTML模板如下: ``` &lt;!DOCTYPE Doctype goes here&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;title&gt;Title goes here ``` 8. **DOCTYPE声明** DOCTYPE声明不是XHTML文档的一部分,...

    CSS+2BDiv模板 CSS+2BDiv模板.

    5. **Web2.0风格**:提到"40个web2.0CSSXHTML网页模板",这通常指的是采用Web2.0设计理念的模板,特点是色彩鲜艳、质感强烈、互动性好。这些模板往往结合了CSS3的新特性,如渐变、阴影、圆角等,以及JavaScript交互...

    网站开发模板绿色风

    2. **布局设计**:一个优秀的模板需要有良好的页面布局,以确保信息层次清晰、导航直观。"绿色风"可能采用了响应式设计,使得网站在不同设备上都能良好展示,适应桌面、平板和手机用户。 3. **HTML5和CSS3**:"home...

    房屋建设设计公司CSS模板

    1. **响应式布局**:此CSS模板采用响应式设计,意味着它能根据用户使用的设备类型(如桌面电脑、平板电脑或手机)自动调整布局,提供良好的跨设备浏览体验。 2. **视觉吸引力**:设计通常包含精心挑选的颜色搭配、...

    非常漂亮的桔黄色CSS布局模板

    标题中的“非常漂亮的桔黄色CSS布局模板”指的是一个采用鲜明桔黄色调的网页设计模板,这种颜色通常给人带来温暖和活力的感觉,适用于许多类型的网站,如个人博客、创意作品展示或小型商业站点。该模板可能包含精心...

    100_HTML手机电脑网站_网页源码移动端前端_H5模板_自适应响应式源码.zip

    这个压缩包可能包含了一系列预设计的页面模板,帮助开发者快速构建跨平台的网站。 HTML5是超文本标记语言的第五个版本,它在HTML4的基础上引入了许多新的功能和元素,以提高网页的交互性、可访问性和多媒体支持。...

    爱革CMS(门户网站) 3.0.rar

    ◦所有模板测试通过W 3C的XHTML验证和CSS2.0验证 20.可上传超大文件,显示进度条 可以不需要任何组件和设置的情况下,上传超大文件,而且显示当前的上传进度。上传文件更加友好,强大。 21.智能清除网页上的无用...

    爱革CMS(公司网站) 3.0.rar

    ◦所有模板测试通过W 3C的XHTML验证和CSS2.0验证 20.可上传超大文件,显示进度条 可以不需要任何组件和设置的情况下,上传超大文件,而且显示当前的上传进度。上传文件更加友好,强大。 21.智能清除网页上的无用...

    431js_HTML手机电脑网站_网页源码移动端前端js效果_H5模板_自适应css源码ui组件.zip

    在这个压缩包中,HTML文件可能包含了各种页面结构,如头部、主体和底部,以及不同类型的元素,如标题、段落、图片和链接等。 2. **CSS(Cascading Style Sheets)**: CSS是用于描述HTML或XML(包括SVG、XHTML等)...

    手机wrap网站仿答疑中心-权威教师在线解答手机wap学习网站模板

    它采用了一种简化的语言(如WML或XHTML Mobile Profile),以及一套优化过的协议来适应移动网络的限制,如带宽较低、屏幕尺寸较小等。 #### 1.2 手机WAP学习网站的特点 - **页面精简**:为了提高加载速度和节省流量...

    facelets中文教程(初级+高级)

    Facelets文件通常以`.xhtml`为扩展名,这是因为它们基于XHTML标准,这使得它们与HTML兼容,同时又具备Java的强类型和事件处理能力。 1. **Facelets组件** - Facelets组件是UI的构建块,类似于HTML元素,但具有更...

    ASP.NET的网页代码模型及生命周期

    当客户端浏览页面的时候,会有一些防火墙扫描页面,以保证操作系统的安全,如果页面的隐藏域过多,那么这些防火墙可能会禁止页面的某些功能。 4.4.4 Cookie Cookie在客户端用户保存网站的少量的用户信息,服务器可以...

    html学习笔记

    - **TRANSITIONAL**(过渡类型):允许某些表现层的元素或属性,用于逐步过渡到完全符合XHTML标准的页面。 - **FRAMESET**(框架集):用于定义一组框架。 - **文本标记**: - 加粗:`&lt;b&gt;`、`&lt;strong&gt;`(语义上...

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    13.2.1 强类型的DataSet 13.2.2 空值 13.3 LINQ to Entities 13.3.1 生成数据模型 13.3.2 数据模型类 13.3.3 实体关系 13.3.4 查询存储过程 13.3.5 LINQ to Entities查询揭秘 13.4 数据库操作 ...

    优化后的建站系统【整站下载】

    网奇每月会精心制作出三套免费风格模板和两套VIP风格模板,让不同类型网站尽情享用。 功能特点: ·采集支持utf-8和big5编码并能转换繁体为简体 ·新闻内其它网站图片与Flash自动下载 · jpg、gif、png、bmp图片...

    电子商务网站建设与维护.doc

    - **详细解释**:例如,`Transfer`方法可以将另一个页面的内容插入当前页面中,这对于构建交互性强的网站非常有用。 #### 16. 动态内容的生成与输出 - **知识点概述**:编写脚本语言可以实现动态内容的生成和输出。...

    H5帮助文档

    学习JavaScript,你需要掌握变量、数据类型、函数、对象、闭包等基础概念,以及ES6(ECMAScript 6)的新特性,如箭头函数、模板字符串和类等。 2. CSS:层叠样式表(CSS)用于描述HTML或XML(包括如SVG、MathML等...

Global site tag (gtag.js) - Google Analytics