您的位置:首页 > 职场人生

近日粗学的小笔记

2004-11-25 15:09 489 查看
近日主要是看了表示层的几个东东,初步学习一下,这些大都不复杂但麻烦些,它们只是做为一种选择,想简化页面也好,减轻工作量也好,或者是让美工和程序员的工作充分分离,你可以选择一种或几种,也可以什么都不用,有很多人都是喜欢直接在页面里写jsp代码的,在论坛里我们可以看到很多关于这些选择的比较和争论。但是我想,先学习它,再批判它,再做最适合我们的选择。
1、 Struts Tiles :初看使用了Tiles的页面时简直如坠云雾,不知从哪看起,不知这些支离破碎的东西都是在哪才会集中起来。后来找了一些资料对比着这些源码来看。明白了配置文件,再看一二个模板文件,对它是怎么工作的,怎么减少重复代码和页面,就会恍然大悟。
个人感觉学习Tiles要先读懂配置文件,也就是默认的那个tiles-def.xml,当然你也可以起其它的名字,但是一定要在Struts-config.xml文件的Plug-in 中申明一下。而且要保证struts-tiles.tld 库已被放在根目录下。然后看一下模板文件,看它都被分割成哪些子页面。这一步很简单,几眼就明白了。再打开tiles-def.xml 看是否有definition用了这个模板,现在记住这个definition的名字,到Struts 的ActionForword 中寻找有没有转向这个definition 的处理,如果正常应该是有的。这样你用模板和一些小文件就可以生成重复量比较大的一些相似页面,熟练这个流程后,确可以省很多事了。当然,前提是你要熟悉这个配置,熟悉里的各标签写法,这个熟悉的过程不难却挺麻烦的,缺乏耐心的人恐怕要有点头大了J
但是工整使用了tiles的系统结构清晰,修改方便。不过在页面布局或美工风格发生变动的时候,程序员和美工的合作似乎要分外小心些。
2、 JSTL:Java Standed Tag Library
JSP2.0中已经集成了JSTL
JSTL包括4种库,如果你用StutsStudio ,最右边那个Exadel Palette就是Struts Taglib和JSTL。JSTL的使用几乎是不用学的,如果你会用Struts的Taglib,用法是一样的,你只需要了解什么时候用什么tag就可以,用的时候找手册一查。
JSTL主要是有返代和条件判断、数据管理格式化(尤其是数字和日期)、XML和数据库访问,不过在MVC大行其道的今天,这个数据库访问tag存在的意义似乎要大打折扣,会有很多人跳出来反对这种页面和数据库造成的紧耦合的不良设计。
很多资料中都指出JSTL是把市面上大部份主流的的Tag 都进行了标准化的产物,所以在能用JSTL的地方,都不要再去用Struts TagLib。而且提醒说JSTL1.0 和1.1 有部份不兼容,大家用的时候要注意。

3、 Velocity:
今天粗看了一下Velocity 和它带的例子,最大的感觉:易用!
Velocity1.4 的发行包中自带了一个forumDemo的例子,.vm文件是它的模板,在它的这些例子文件中没有出现jsp文件,是不是全面使用了Velocity来做view就意味着告别.jsp的后缀呢?它的配置文件也很简单,我看Demo中配置文件里只有二行,一行说明了下相对路径,一行说明了下log。
Velocity Template Languate (VTL)本身是一种语言,不过它的规模很小。据说可以让开发人员可以进行更好的折分,只要保证web部份正确就可以,而且模板语句本身很简单,很容易就能学会。且看这一段:
#if ( $hasMessages )
#foreach ( $item in $listall )

<tr>
<td bgcolor="#eeeeee" align="left">
<a href="/forumdemo/servlet/forum?action=view&id=$item.getId()">$item.getSubject()</a>
</td>
<td bgcolor="#eeeeee" align="center">
$item.numberOfReplies()
</td>
<td bgcolor="#eeeeee" align="center">
$item.getName()
</td>
<td bgcolor="#eeeeee" align="center">
$item.getSubmitted()
</td>
</tr>

#end
#else
<tr>
<td bgcolor="#eeeeee" colspan="4">
<b>No Messages</b> Please post one!
</td>
</tr>
#end

具体我还不是很清楚,看了Demo,流程也大致能懂,还没有用过,具体细节上肯定还有很多问题。

Web表示层的各种framework 实在是太多了,大体了解一下,主要是了解它的实现思路,用的时候就能更好地选择,太过麻烦的暂时用不到就不必去熟悉它的细节了,也许再过几个月有些语法就变了呢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  笔记 职场 粗学 休闲