关于JSP标签库的一些问题

不懂 既然邀请我了 就说说自己的看法。jsp php 在view层都有属于自己模版语言,标签,连javascript都有自己的模版库。好处除了你说的 易维护 易扩展之外的学习成本确实是个大问题。如此费力一定是要讨好的。标签jsp中我印象里可以最后生成现成的html+js控件 php的smarty 是这么写的吧 同理也有这种功能 这让后端开发会轻松很多,比去再学写js快多了。在javascript中 前端有mvc分层 可用简单的模版代码维护复杂的业务逻辑 而不需要再在controller中来实现。nodejs中jade ejs 有自己的维护模版的关系的语法也可以帮你实现缓存功能。这些都是好处。解耦业务,复用模块,性能优化这些都比你学一套简单的模版库实现起来要难。可能这就是好处吧。更多针对jsp的模版库 去看官网的说明(一般都有why use)吧 或者搜索同类库的对比文章,可能对你了解他们更有帮助。最后,确实是你个人问题 也许你还没有真正写过很多业务view吧。
■网友
没用过JSP。既然邀了,我就打开你的链接看了一眼。
我就看了两分钟,胡乱说说,对内容不负任何责任。
\u0026gt; 尽量避免直接在JSP页面中直接使用Java代码我觉得这是个原则/底线的问题。“展示逻辑”就要用“展示语言”。可以把语言的表达能力限制在特定的范围内。一旦用了通用语言,下一步你就开始在页面上写跟展示无关的东西了。这个你自己根本管不住的。
没有了Java代码,展示逻辑只依赖于 Model。可以比较容易的把后台替换成假实现,调试起来也比较方便。
\u0026gt; 除了用于替代Java代码,JSP标签库还有没有其它比较显著的好处?一切抽象层次高可能带来的好处。
一来,这个语言更抽象,可以设计得更适合特定的任务,理论上也可以跟Java语义无关,容易绑定到其他语言开发的组件。
二来,展示的代码通常是声明式的,只说是什么,不说做什么。框架根据是什么解决做什么的问题。
比如你可能只需要声明一个标签并给定一个 java 对象,就可以自动生成对应的 html 的 form 代码,css 代码,设定好所有 input 的 name 和 value 的默认值,get/post 的地址,提交表单时自动把 http 请求绑定会 java 的对象,输入过程中还能自动调用 ajax 请求进行数据验证,生成成功和失败信息,自动根据工作流程跳转页面,管理 会话 和 权限 等等。这些都是互相独立,可以单独开发,只取决于“是什么”,可以像插件一样插进去。
至于JSP做到了多少,我就不知道了。

■网友
为了(什么)这种自定义标签就要比Java代码更易于编写和维护?这种“更易于”主要体现在复用上。自定义标签用来集中处理多个页面上的功能、逻辑相似的代码。不知道你写jsp的时候遇到过同一段逻辑(遍历列表,日期格式转换之类)需要在多个页面上写很多遍的情况没有。你可以想想看:将这些代码直接放在jsp页面上,你要怎样去复用?使用jsp标签又可以怎样去复用?
■网友
【关于JSP标签库的一些问题】 任何公共的东西,提取出来,统一存放,统一使用。这不就是很多设计的初衷嘛!


    推荐阅读