最近跟强类型干上了,呵呵。拿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了。只有理论上的可能性……
分享到:
- 2006-12-01 20:15
- 浏览 2178
- 评论(0)
- 论坛回复 / 浏览 (0 / 2667)
- 查看更多
相关推荐
2. **通用性**:这里的“通用”意味着模板适用于各种类型的后台系统,无论其功能如何。这意味着模板需要具备良好的灵活性和可扩展性,能够适应不同的业务需求和数据展示方式。 3. **静态模板**:静态模板没有动态...
一个简单的XHTML模板如下: ``` <!DOCTYPE Doctype goes here> <html xmlns="http://www.w3.org/1999/xhtml"> <title>Title goes here ``` 8. **DOCTYPE声明** DOCTYPE声明不是XHTML文档的一部分,...
5. **Web2.0风格**:提到"40个web2.0CSSXHTML网页模板",这通常指的是采用Web2.0设计理念的模板,特点是色彩鲜艳、质感强烈、互动性好。这些模板往往结合了CSS3的新特性,如渐变、阴影、圆角等,以及JavaScript交互...
2. **布局设计**:一个优秀的模板需要有良好的页面布局,以确保信息层次清晰、导航直观。"绿色风"可能采用了响应式设计,使得网站在不同设备上都能良好展示,适应桌面、平板和手机用户。 3. **HTML5和CSS3**:"home...
1. **响应式布局**:此CSS模板采用响应式设计,意味着它能根据用户使用的设备类型(如桌面电脑、平板电脑或手机)自动调整布局,提供良好的跨设备浏览体验。 2. **视觉吸引力**:设计通常包含精心挑选的颜色搭配、...
标题中的“非常漂亮的桔黄色CSS布局模板”指的是一个采用鲜明桔黄色调的网页设计模板,这种颜色通常给人带来温暖和活力的感觉,适用于许多类型的网站,如个人博客、创意作品展示或小型商业站点。该模板可能包含精心...
这个压缩包可能包含了一系列预设计的页面模板,帮助开发者快速构建跨平台的网站。 HTML5是超文本标记语言的第五个版本,它在HTML4的基础上引入了许多新的功能和元素,以提高网页的交互性、可访问性和多媒体支持。...
◦所有模板测试通过W 3C的XHTML验证和CSS2.0验证 20.可上传超大文件,显示进度条 可以不需要任何组件和设置的情况下,上传超大文件,而且显示当前的上传进度。上传文件更加友好,强大。 21.智能清除网页上的无用...
◦所有模板测试通过W 3C的XHTML验证和CSS2.0验证 20.可上传超大文件,显示进度条 可以不需要任何组件和设置的情况下,上传超大文件,而且显示当前的上传进度。上传文件更加友好,强大。 21.智能清除网页上的无用...
在这个压缩包中,HTML文件可能包含了各种页面结构,如头部、主体和底部,以及不同类型的元素,如标题、段落、图片和链接等。 2. **CSS(Cascading Style Sheets)**: CSS是用于描述HTML或XML(包括SVG、XHTML等)...
它采用了一种简化的语言(如WML或XHTML Mobile Profile),以及一套优化过的协议来适应移动网络的限制,如带宽较低、屏幕尺寸较小等。 #### 1.2 手机WAP学习网站的特点 - **页面精简**:为了提高加载速度和节省流量...
Facelets文件通常以`.xhtml`为扩展名,这是因为它们基于XHTML标准,这使得它们与HTML兼容,同时又具备Java的强类型和事件处理能力。 1. **Facelets组件** - Facelets组件是UI的构建块,类似于HTML元素,但具有更...
当客户端浏览页面的时候,会有一些防火墙扫描页面,以保证操作系统的安全,如果页面的隐藏域过多,那么这些防火墙可能会禁止页面的某些功能。 4.4.4 Cookie Cookie在客户端用户保存网站的少量的用户信息,服务器可以...
- **TRANSITIONAL**(过渡类型):允许某些表现层的元素或属性,用于逐步过渡到完全符合XHTML标准的页面。 - **FRAMESET**(框架集):用于定义一组框架。 - **文本标记**: - 加粗:`<b>`、`<strong>`(语义上...
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图片...
- **详细解释**:例如,`Transfer`方法可以将另一个页面的内容插入当前页面中,这对于构建交互性强的网站非常有用。 #### 16. 动态内容的生成与输出 - **知识点概述**:编写脚本语言可以实现动态内容的生成和输出。...
学习JavaScript,你需要掌握变量、数据类型、函数、对象、闭包等基础概念,以及ES6(ECMAScript 6)的新特性,如箭头函数、模板字符串和类等。 2. CSS:层叠样式表(CSS)用于描述HTML或XML(包括如SVG、MathML等...