困扰JSP的一些问题与解决方法
端的locale。为什么客户端必须直接将请求发送给view?为什么客户端不应该将请求发送给一些通用的服务器组件并让服务器来决定JSP view的返回?
这使很多人接受了已被称为"Model 2"的设计, 这是在JSP 0.92中定义的基于model-view-controller的模型。在这种设计中,请求被发送到一个servlet控制器,它执行了商业逻缉并产生一个相近的数据"model"来用于显示。这一数据随后通过内部送到一个JSP "view"来进行显示,这样看起来JSP页就象是一个普通的嵌入的JavaBean。 可以根据负责控制的servlet的内部逻辑来选择适当的JSP页面进行显示。这样,JSP文件成为了一个漂亮的template view。这就是另一种发展,并被另外一些开发者所推崇至今. 进入Template Engines 使用template engine来代替通常目的的JSP, 接下去的设计将变得简单,语法更简单,出错信息更易读,工具也更用户化。 一些公司已经做了这样的引擎,最著名的可能是WebMacro (http://webmacro.org, from Semiotek),他们的引擎是免费的。 问题 #1: Java代码太模板化了 虽然被认为是不好的设计,JSP仍试图将Java代码加入web页面。这有些象是Java曾经做的,即对C++的简化修改,template engines也通过将jsp中的较低层的源码移去来使之简化。Template engines实行了更好的设计。 问题 #2: 要求Java代码 在JSP页中要求写一些Java代码。例如,假设某页要决定当前web应用中根的上下文从而导向其主页, <a href="<%= request.getContextPath() %>/index.html">Home page</a> <a href="<jsp:getProperty name="request" 使用template engine则没有Java代码和难看的语法。这里是同样要求下在WebMacro中的写法: <a href=".ContextPath;/index.html">Home page</a> 在WebMacro中, ContextPath 作为 template engines使用了其它的语法类型。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |