问题 #2: 要求Java代码
在JSP页中要求写一些Java代码。例如,假设某页要决定当前web应用中根的上下文从而导向其主页,
在JSP中最好使用如下Java代码:;
<a href="<%= request.getContextPath() %>/index.html">Home page</a>;
你可以试图避免 Java代码,而使用 <jsp:getProperty> 标记但这将给你六下难以阅读的字串:;
<a href="<jsp:getProperty name="request";
property="contextPath"/>/index.html">HomePage</a>
使用template engine则没有Java代码和难看的语法。这里是同样要求下在WebMacro中的写法:;
<a href=".ContextPath;/index.html">Home page</a>
在WebMacro中, ContextPath 作为 template engines使用了其它的语法类型。;
再看另 一个例子,假设一个高级的"view"需要设定一个cookie来记录用户缺省的颜色配置 -- 这种任务看起来大概只能由view而不是servlet控制器来完成。在JSP中要有这样的Java代码:
<% Cookie c = new Cookie("colorscheme", "blue"); response.addCookie(c); %>
在WebMacro中则没有Java代码:
#set .colorscheme = "blue"
作为最后一个离子,假如又要重新找回原来的cookie中的颜色配置。对于JSP,我们可以认为也有一个相应的工具类来提供帮助,因为用getCookies()直接做这样低层的会变得可笑而且困难。在JSP中:
<% String colorscheme = ServletUtils.getCookie(request, "colorscheme"); %>
在WebMacro中没有对工具类的需要,通常是:.colorscheme.Value .对写jsp的图形艺术师,又是哪一种语法更容易学习呢?
标签: