锁定老帖子 主题:我觉得WEB页面的开发用模版语言很多余
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2004-11-12
goldrain 写道 我当然反对在jsp页面写业务逻辑,我写的jsp都只是拿出数据进行展示而已。当然模版语言做这个可能更简单点。但模版语言现在对我甚至对很多人而言都是可有可无的,至少我接触的多数开发员是这样,可能他们通常更了解Java吧。 感谢大家的提示,我会重新审视模版语言,再回来讨论。 如果模板语言做显示比jsp更简单而且不容易带来混乱。我为什么不用呢?在框架下模板语言才能真真体现优势。 |
|
返回顶楼 | |
发表时间:2004-11-12
goldrain 写道 除非你能告诉我它还有其他jsp无法完成的功能,否则我认为自己还是有资格评论的。
口气怎么有点象在骂版? 引用 除非你能告诉我java还有其他c/c++无法完成的功能,否则我认为自己还是有资格评论的。 我也赞同jsp的缺点就是它的功能太强大,不过jsp编程规约可以解决这一点。 |
|
返回顶楼 | |
发表时间:2004-11-14
我认为JSP的功能应该被定位在接收参数,传递参数上。
至于参数的展示可以交给JS,var i = <%=i%> 也是可以的。 剩下的交给JS吧,起码页面看起来清爽,灵活性也很高。 |
|
返回顶楼 | |
发表时间:2004-11-14
JAVA的VIEW层描述语言从jsp到摸板语言的转变 整个就是让程序员从"不能有话好好说"到"不会有话好好说"的过程 都是陷入了一种两难境地
模板引擎的设计最早是来自于 webmacro 我在使用PHP做B/S结构的软件时比较多的接触了 模板功能用比,PHP本身做为弱类型语言在在开发 VIEW层时容易做出大堆大堆的PHP+HTML的页面 模板的引入使得HTML页面清爽了许多,程序员们想当然的认为这样一来在HTML没有了那些该死的 php标签影响美工,可这只是一相情愿罢了。在美工看来这些乱七八糟的{$name} {#while} <--while--> 比以前还糟:"从前我还能分清哪块是 程序代码,现在这些新出来的标签让我头晕"--美工如是说。 在这些模板中 if ,while, for 之类的东西一个都没少,只是换了个样子出来罢了。要完成稍复杂的页面逻辑,模板语言必然面对IF,WHILE 之 类的流程控制语句,模板中不断加入新功能,包含外部文件、使用外部对象、函数什么的简直成了另一种程序语言。smarty模板就是这方面的 代表 至少就我所知道的聪明点的PHP的程序员 无论是大的网站还是B/S的软件都不在使用模板了,当然更不能退回到PHP+HTML的时代,他们用自己的 所谓UI框架+php代码。 说了这些PHP那边的事, 再说JAVA这边 JSP的被否定是自然的从其它语言转过来的开发人员对这个是很敏感 jsp+html比php+html 更让人恶心, JAVA里也有模板而且好像功能更强,当然在PHP里的模板问题都在JAVA WEB开发中都出现了 "模板语言+html" 相比"JSP+HTML"除了分离控制逻辑和显示逻辑之类的好处外 相对JSP来说明显的好处有: 只提供比较基本的流程控制功能、 可以控制对象的访问、可以被一些MVC框架支持等等吧 实质问题是这样的:无论是模板语言还是JSP都试图用传统的控制流程语句去描述日益复杂的"页面流" 都是基于IF ,ELSE ,iterator的。当页面越来越复杂、控制流程也相应增加。而且比较多的需求修改其实是显示格局(逻辑)的变化比如三列变 四列,行显示变列显示之类的,或许你可以把这些都做相应的类抽象出来,但也只是救一时之需 我想说的是JAVA世界中模板的引入是换汤不换药的,使用它可能会提高你的生产力,但那很有可能是因为其它的原因。 我想现阶段在VIEW层 如果你的手下更熟悉JSP,你完全可以制定出严格的JSP的使用规则比如只使用基本的if,else,while 不要用new AClass() 只用<jsp:useBean> JSP里只有VO 什么的 如果最后形成的页面仍然混乱不堪,至少还有重构这个稻草吧,把那些IF,ELSE 放到相应的VO里 或许有好的WEB UI framework 才是减轻页面开发的途径 (像dotnet 或者 像DLEE的团队) |
|
返回顶楼 | |
发表时间:2005-05-25
人们认为 servlet 中 print HTML 太麻烦了,于是 jsp 出现了;
人们又认为 jsp 中的 scriptlet 太强大,容易混乱,于是模板出现了; 人们又认为模板功能太弱了,于是模板有了脚本语言、控制逻辑...; ...... 我们到底想要什么?! |
|
返回顶楼 | |
发表时间:2005-05-26
巴豆 写道 在这些模板中 if ,while, for 之类的东西一个都没少,只是换了个样子出来罢了。要完成稍复杂的页面逻辑,模板语言必然面对IF,WHILE 之类的流程控制语句,模板中不断加入新功能,包含外部文件、使用外部对象、函数什么的简直成了另一种程序语言。 phpbb, fastm, jdynamite, jivan, xmlc, wicket(?) 等,都没有逻辑控制语句、外部文件包含、外部对象,这些东西。 myy 写道 人们又认为模板功能太弱了,于是模板有了脚本语言、控制逻辑...; velocity, freemarker等一开始出现的时候,就是 脚本,就是语法树。而不是后来加的。 phpbb, fastm, jdynamite, jivan, xmlc, wicket(?) 等,一开始出现的时候,就不是脚本,只是结构树。 |
|
返回顶楼 | |
发表时间:2005-05-26
不明白各位同事都是做什么样子的项目。还能出现让美工去改JSP页面,或是velocity的页面,看看我的这个系统切图,美工的工作是什么呢?最大工作就是对不同的ID做些美化的CSS,在者就是一些小图的制作。
JSP也好,velocity也好,关键是你怎么用,在我的印象中他只不过是个展示。 JSP中可用的tiles tags ,velocity中有可用的layout,美工要做什么,程序员要做什么,我想应该分得出来吧。 如果是非要让美工完成很多的话。那倒不如换一些模式, html + xmlhttp,会不会好一些呢。 ![]() |
|
返回顶楼 | |
发表时间:2005-05-26
我用XML+XSLT。
|
|
返回顶楼 | |
发表时间:2005-05-30
myy 写道 人们认为 servlet 中 print HTML 太麻烦了,于是 jsp 出现了;
人们又认为 jsp 中的 scriptlet 太强大,容易混乱,于是模板出现了; 人们又认为模板功能太弱了,于是模板有了脚本语言、控制逻辑...; ...... 我们到底想要什么?! to myy: 非常经典的解释 |
|
返回顶楼 | |