下一代的B/S开发框架--Echo 教程(6)
HTML模板
JSF和Tapestry是都是基于模板的Java WEB框架, 但是在使用前要学习它们的特定语法规则. Echo本身没有提供HTML模板, EchoPoint为我们提供了模板功能, 先看看这个模板怎么写:
<html><body>
Here is date picker: <br>
<object name="datepicker1"></object><br>
and a text field: <br>
<input name="textfield1" value="textfield1InitialText"><br>
</body></html>
看起来没什么特别的. 再看看在程序中怎么调用:
String templateFileName = "/templates/test1.thtml";
HtmlTemplatePanel template = new HtmlTemplatePanel(
getClass().getResource(templateFileName));
template.add(new TextField(), "textfield1");
template.add(new DatePicker(), "datepicker1");
在程序中只是用相同的名字注册服务器端控件. 然后就可以利用echo的全部功能. 注意几点:
EchoPoint的模板功能借用了WinS的模板功能, 前人栽树, 后人乘凉.
HTML的Tag中属性会被复制到控件中, 比如textfield1的value属性
属性复制的功能可以被禁止, 也可以自己写PropertyManager来载入特殊属性.
如果你还对HTML恋恋不舍, 或者你需要经常给网站换肤, HTML模板是个不错的选择.
很遗憾, Echo还可视化的设计工具. 其实Echo的程序和Swing极其类似, 而且JBuilder已经提供的很好的OpenTools API让开发者写For JBuilder的插件, 可以参考HELP里面的文档和JBuilder的examples. 这里面有不少工作, 如果哪位DX写好一个放到SourceForge上, 也算为国人争光. 有兴趣的朋友可以留言讨论一下.