浏览 2094 次
锁定老帖子 主题:构造服务器端的DOM
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-20
我详细一点说,就是: 先有一个静态的html文件。 然后有一个工具,把html解析起来,得到内存中的DOM。 然后,根据类似jquery的selector的思路,去调整页面的动态部分。 最后,这个DOM自然可以随时输出对应的html文本,返回到客户端。 如果由此基础上继续前进,很可能引入比DOM更高级的界面组件,最后跟JSF殊途同归。 以上是我脑子里昙花一现的想法,欢迎大家拍砖。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-04-20
hatedance 写道 今天突然想到WEB开发还有一种方式似乎还没有人搞过。就是把客户端的DOM搬到server端,即java版的DOM。然后,就像ORM把数据库映射到java里。咱来个Object Markup Mapping(OMM)。然后,就像用jquery之类的办法去修改页面,得到需要的动态页面。
我详细一点说,就是: 先有一个静态的html文件。 然后有一个工具,把html解析起来,得到内存中的DOM。 然后,根据类似jquery的selector的思路,去调整页面的动态部分。 最后,这个DOM自然可以随时输出对应的html文本,返回到客户端。 如果由此基础上继续前进,很可能引入比DOM更高级的界面组件,最后跟JSF殊途同归。 以上是我脑子里昙花一现的想法,欢迎大家拍砖。 public static String getSelectUI(List list, String selectName, String selectId, String showName, String showValue) { /** * <select name="select" id="select"> <option value=""></option> * </select> */ StringBuilder sb = new StringBuilder(); sb.append("<select name=" + selectName + " id=" + selectId + ">"); for (int i = 0; i < list.size(); i++) { sb.append(" <option value=" + returnGetFieldValue(list.get(i), showValue) + ">" + returnGetFieldValue(list.get(i), showName) + "</option>"); } sb.append("</select>"); return sb.toString(); } 也不过是此类玩具 |
|
返回顶楼 | |
发表时间:2009-04-20
楼上的,好像跟我想的不是很一致啊。你这是把select的UI render出来吧?没错,web组件肯定要有这个功能,但这不是重点。
|
|
返回顶楼 | |
发表时间:2009-04-20
为啥要在服务器上干这事情?
难道是因为服务器太闲了,所以找点事情给他干? |
|
返回顶楼 | |
发表时间:2009-04-21
最后修改:2009-04-21
liujunsong 写道 为啥要在服务器上干这事情?
难道是因为服务器太闲了,所以找点事情给他干? 这么做服务器只会更忙,呵呵。 理由之一就是如果你认可ORM,那么应该也会认可OMM。让程序员告别SQL和HTML对喜欢OO的程序员应该是件好事。 原本给一个文本框设值,在jsp是这样的: <input id="foo" name="foo" value="${bar}"> 现在换种方式: public void onload(){ HtmlDom dom = xxUtil.parse("xx.html"); ... HtmlInput input = (HtmlInput)dom.getElementById("foo"); input.setValue=bar; ... } 另外,做页面的web设计师就不必考虑jstl,或者structs的tag了。他做的就是标准的html页面。 |
|
返回顶楼 | |
发表时间:2009-04-21
最后修改:2009-04-21
这样子的东西么
有人正在尝试用这种模式开发 不知道有什么问题 <head> <script> //由<iterater>生成的数据 </script> <script> //树的生成代码 //表格子生成代码 </script> <srcipt> //动态加载,初始加载等代码 //jquery把数据把对应的数据绑到对应的格子中去 </script> </head> |
|
返回顶楼 | |
发表时间:2009-04-21
直接用GWT吧
|
|
返回顶楼 | |
发表时间:2009-04-22
跟GWT,JSF之类的组件模型有一个问题,就是有时候过于高度抽象,粒度太粗。虽然方便了程序员进行界面设计,但是web设计师却无法参与了。去问问asp.net程序员就知道了。web设计师最喜欢的肯定就是在dreamweaver里作纯html.
而DOM的粒度却是够细。 |
|
返回顶楼 | |
发表时间:2009-04-22
hatedance 写道 跟GWT,JSF之类的组件模型有一个问题,就是有时候过于高度抽象,粒度太粗。虽然方便了程序员进行界面设计,但是web设计师却无法参与了。去问问asp.net程序员就知道了。web设计师最喜欢的肯定就是在dreamweaver里作纯html.
而DOM的粒度却是够细。 如果有更好的工具“web设计师”应该更喜欢拖拖画画,所以要玩就玩的彻底点,极端点,看看ECHO2 jseamless 那样的东西才是真正的server端UI组件,不过性能就可想而知了,玩具而已 |
|
返回顶楼 | |