﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-&lt;font color="red"&gt;love fish&lt;/font&gt;&lt;font color="lightgreen"&gt;大鹏一曰同风起，扶摇直上九万里&lt;/font&gt;-随笔分类-Other</title><link>http://www.blogjava.net/liaojiyong/category/12628.html</link><description /><language>zh-cn</language><lastBuildDate>Thu, 03 Dec 2009 00:59:17 GMT</lastBuildDate><pubDate>Thu, 03 Dec 2009 00:59:17 GMT</pubDate><ttl>60</ttl><item><title>嘉旺 点餐 系统 </title><link>http://www.blogjava.net/liaojiyong/archive/2009/12/02/304497.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Wed, 02 Dec 2009 04:00:00 GMT</pubDate><guid>http://www.blogjava.net/liaojiyong/archive/2009/12/02/304497.html</guid><wfw:comment>http://www.blogjava.net/liaojiyong/comments/304497.html</wfw:comment><comments>http://www.blogjava.net/liaojiyong/archive/2009/12/02/304497.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liaojiyong/comments/commentRss/304497.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liaojiyong/services/trackbacks/304497.html</trackback:ping><description><![CDATA[<br />
<hr />
<br />
<a title="嘉旺点餐系统.rar " href="http://www.blogjava.net/Files/liaojiyong/嘉旺点餐系统.rar ">http://www.blogjava.net/Files/liaojiyong/嘉旺点餐系统.rar </a>
<img src ="http://www.blogjava.net/liaojiyong/aggbug/304497.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liaojiyong/" target="_blank">liaojiyong</a> 2009-12-02 12:00 <a href="http://www.blogjava.net/liaojiyong/archive/2009/12/02/304497.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>深圳求职网</title><link>http://www.blogjava.net/liaojiyong/archive/2007/05/24/119751.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Thu, 24 May 2007 08:22:00 GMT</pubDate><guid>http://www.blogjava.net/liaojiyong/archive/2007/05/24/119751.html</guid><wfw:comment>http://www.blogjava.net/liaojiyong/comments/119751.html</wfw:comment><comments>http://www.blogjava.net/liaojiyong/archive/2007/05/24/119751.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liaojiyong/comments/commentRss/119751.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liaojiyong/services/trackbacks/119751.html</trackback:ping><description><![CDATA[<a href="http://www.51job.com/">http://www.51job.com/</a><br><a href="http://www.zhaopin.com/">http://www.zhaopin.com</a><br><a href="http://www.szhr.com.cn/">http://www.szhr.com.cn/</a><br><a href="http://www.job88.com/zh-cn/">http://www.job88.com/zh-cn/<br></a><a href="http://www.cjol.com/">http://www.cjol.com</a><br>
<img src ="http://www.blogjava.net/liaojiyong/aggbug/119751.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liaojiyong/" target="_blank">liaojiyong</a> 2007-05-24 16:22 <a href="http://www.blogjava.net/liaojiyong/archive/2007/05/24/119751.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>威金logo1_.exe专杀工具下载</title><link>http://www.blogjava.net/liaojiyong/archive/2007/04/18/111597.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Wed, 18 Apr 2007 05:57:00 GMT</pubDate><guid>http://www.blogjava.net/liaojiyong/archive/2007/04/18/111597.html</guid><wfw:comment>http://www.blogjava.net/liaojiyong/comments/111597.html</wfw:comment><comments>http://www.blogjava.net/liaojiyong/archive/2007/04/18/111597.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liaojiyong/comments/commentRss/111597.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liaojiyong/services/trackbacks/111597.html</trackback:ping><description><![CDATA[<a href="http://www.blogjava.net/Files/liaojiyong/Vikingkiller.rar">http://www.blogjava.net/Files/liaojiyong/Vikingkiller.rar</a>
<img src ="http://www.blogjava.net/liaojiyong/aggbug/111597.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liaojiyong/" target="_blank">liaojiyong</a> 2007-04-18 13:57 <a href="http://www.blogjava.net/liaojiyong/archive/2007/04/18/111597.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>购物车设计开发（转）</title><link>http://www.blogjava.net/liaojiyong/archive/2007/03/22/105502.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Thu, 22 Mar 2007 03:16:00 GMT</pubDate><guid>http://www.blogjava.net/liaojiyong/archive/2007/03/22/105502.html</guid><wfw:comment>http://www.blogjava.net/liaojiyong/comments/105502.html</wfw:comment><comments>http://www.blogjava.net/liaojiyong/archive/2007/03/22/105502.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liaojiyong/comments/commentRss/105502.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liaojiyong/services/trackbacks/105502.html</trackback:ping><description><![CDATA[
		<h1 style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">第一章，购物车需求调研。<span lang="EN-US"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?><o:p></o:p></span></span>
		</h1>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<font face="宋体"> <o:p></o:p></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">只要是电子商务购物网站，购物车是必不可少的功能。<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">设计一个功能强大、易用性好的购物车绝对是提高顾客购买兴趣和达成购买的一个重要因素。<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<font face="宋体"> <o:p></o:p></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">纵观国内外的电子商务网站，做得比较好，在国内有卓越（</font>
						<span lang="EN-US">
								<a href="http://www.joyo.com/">
										<font color="#1d58d1">
												<span style="FONT-FAMILY: Verdana">www</span>
												<font face="宋体">.joyo.com</font>
										</font>
								</a>
						</span>
						<font face="宋体">）<span lang="EN-US">,</span>当当（<span lang="EN-US"><a href="http://www.dangdang.com/"><font color="#1d58d1">www.dangdang.com</font></a></span>），<br />国外的则比较多，主要有亚马逊书店（<span lang="EN-US"><a href="http://www.amazon.com/"><font color="#1d58d1">www.amazon.com</font></a></span>），<span lang="EN-US">GAP</span>（<span lang="EN-US"><a href="http://www.gap.com/"><font color="#1d58d1">www.gap.com</font></a></span>），</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<a href="http://www.target.com/">
								<font color="#1d58d1">
										<span style="FONT-FAMILY: Verdana">www.target.com</span>
								</font>
						</a>
				</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">，</font>
						<span lang="EN-US">
								<a href="http://www.buy.com/">
										<font color="#1d58d1">
												<span style="FONT-FAMILY: Verdana">www</span>
												<font face="宋体">.buy.com</font>
										</font>
								</a>
								<font face="宋体">
								</font>
						</span>
						<font face="宋体">等。<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<font face="宋体"> <o:p></o:p></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">这些网站对于购物车的设计各有特色，但大致是分为两种购物车：</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">MiniCart<font face="宋体">（迷你车）</font></span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">和<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">ShoppingCart<span style="FONT-SIZE: 10pt"><font face="宋体">（购物车）</font></span></span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">。<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<ul>
				<li>
						<div style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">MiniCart的分析<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana"></span></div>
				</li>
		</ul>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<br />MiniCart <span style="FONT-SIZE: 10pt"><font face="宋体">是购物车的一个微缩版，一般是显示最后加入购物车的一个商品，当然也有显示多个的，但这要注意尺度，<br />一般显示最后</font></span><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">3</span><span style="FONT-SIZE: 10pt"><font face="宋体">个已经很足够，再多使到排版过长，影响浏览。<span lang="EN-US"><o:p></o:p></span></font></span></p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">在</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">MiniCart</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">页面，现在流行的安排是左边显示推荐的相关产品，右边是</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">MiniCart</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">。这是根据用户当前选购商品的一<br />种业务需求挖掘，来进一步推动销售。具体如图<span lang="EN-US">1</span>。<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span lang="EN-US">
						<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /?>
						<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
								<v:stroke joinstyle="miter">
								</v:stroke>
								<v:formulas>
										<v:f eqn="if lineDrawn pixelLineWidth 0">
										</v:f>
										<v:f eqn="sum @0 1 0">
										</v:f>
										<v:f eqn="sum 0 0 @1">
										</v:f>
										<v:f eqn="prod @2 1 2">
										</v:f>
										<v:f eqn="prod @3 21600 pixelWidth">
										</v:f>
										<v:f eqn="prod @3 21600 pixelHeight">
										</v:f>
										<v:f eqn="sum @0 0 1">
										</v:f>
										<v:f eqn="prod @6 1 2">
										</v:f>
										<v:f eqn="prod @7 21600 pixelWidth">
										</v:f>
										<v:f eqn="sum @8 21600 0">
										</v:f>
										<v:f eqn="prod @7 21600 pixelHeight">
										</v:f>
										<v:f eqn="sum @10 21600 0">
										</v:f>
								</v:formulas>
								<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect">
								</v:path>
								<o:lock v:ext="edit" aspectratio="t">
								</o:lock>
						</v:shapetype>
						<o:p>
						</o:p>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<font face="宋体"> <img src="http://www.blogjava.net/images/blogjava_net/faith/13332/r_joyo.jpg" /><br /><o:p></o:p></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">
								<br />另外一种</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">MiniCart</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">则为</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">www</span>
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10pt">.gap.com</span>
						<span style="FONT-SIZE: 10pt">独创，笔者浏览过国内外各大电子商务产品及网站，暂时只是发现</span>
				</font>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">GAP</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">系的网站有这种设计。<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">见下图。<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span lang="EN-US">
						<o:p>
						</o:p>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">
								<img src="http://www.blogjava.net/images/blogjava_net/faith/13332/r_gap.jpg" />
								<br />读者请注意我用红色圈住的地方，就是它的</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">MiniCart</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">，当顾客点击</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">[Add</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<font face="宋体">to cart</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">]</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">时，系统将在右上栏的</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">MiniCart</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">
								<br />柔和地展开，第一部分是顾客刚才加入购物车的商品，如果该商品存在相关促销活动或者是属于某个产品包<br />（购买</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">A</span>
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10pt">+B</span>
						<span style="FONT-SIZE: 10pt">将节省<span lang="EN-US">n%</span>等），将在第二部分显示相关的推荐。<span lang="EN-US"><o:p></o:p></span></span>
				</font>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">整个动态效果做得非常舒服，很吸引顾客眼球。只是它的实现较复杂。<br /><span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<span lang="EN-US" style="FONT-SIZE: 10pt">
				<font face="宋体">
						<ul>
								<li>
										<div style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
												<font size="3">Shopping Cart的分析</font>
												<br /> <br /></div>
								</li>
						</ul>
						<o:p>
						</o:p>
				</font>
		</span>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">购物车（</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">ShoppingCart</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">）的设计则大同小异，如</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Amazon</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">的设计如下：<br /><span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span lang="EN-US">
						<o:p>
						</o:p>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">
								<img src="http://www.blogjava.net/images/blogjava_net/faith/13332/r_amazon.jpg" />
								<br />见图中红色圈圈。<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">【</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">1</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">】列功能区：放置该列商品加入购物车的时间、对每个商品的操作按钮。<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">【</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">2</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">】商品详细信息区：包括产品名称、库存、是否免运费及是否需要礼品包装等。<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">【</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">3</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">】价格区：该商品折后价格及节省了多少。<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">【</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">4</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">】数量区：可以修改购买数量。<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">【</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">5</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">】总体功能区：提供操作整个购物车区域（分为</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Buy</span>
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10pt">Now</span>
						<span style="FONT-SIZE: 10pt">和<span lang="EN-US">Buy Later</span>两个取悦）<span lang="EN-US"><o:p></o:p></span></span>
				</font>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">的操作按钮和统计信息。<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<font face="宋体"> <o:p></o:p></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">经过分析，大致需要提供给用户操作的功能有：<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">更新数量；<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">删除</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">(1…n)</span>
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">；<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Save</span>
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10pt">for later</span>
						<span style="FONT-SIZE: 10pt">（<span lang="EN-US">Joyo</span>描述为收藏）（<span lang="EN-US">1...n</span>）；<span lang="EN-US"><o:p></o:p></span></span>
				</font>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10pt">Move to cart </span>
						<span style="FONT-SIZE: 10pt">移到购物车（对<span lang="EN-US">Save for later</span>的商品）（<span lang="EN-US">1</span>…<span lang="EN-US">n</span>）。<span lang="EN-US"><o:p></o:p></span></span>
				</font>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<font face="宋体"> <o:p></o:p></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">而在系统内部我们还需要对购物车进行更多的处理，比如对购物车的商品进行计费、计算出<span lang="EN-US"><o:p></o:p></span></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">折后价格，统计数据，对有促销活动的商品给顾客以明显的提示，</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Also</span>
				<font face="宋体">
						<span lang="EN-US" style="FONT-SIZE: 10pt">buy</span>
						<span style="FONT-SIZE: 10pt">等等。<span lang="EN-US"><o:p></o:p></span></span>
				</font>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-SIZE: 10pt">
						<font face="宋体"> <o:p></o:p></font>
				</span>
		</p>
		<p style="MARGIN: 0cm 0cm 0pt; mso-outline-level: 1">
				<span style="FONT-SIZE: 10pt">
						<font face="宋体">到这里，购物车的业务需求分析研究就过一段落了，下一章将会进行购物车的建模设计。<span lang="EN-US"><o:p></o:p></span></font>
						<br />
						<br />
				</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">第二章：购物车业务建模。</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">笔者在本文中将会采用</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">UML</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">对购物车进行建模。</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">对于我们的例子，涉及参与者（</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">Actor</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）是顾客，业务实体则有</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">MiniCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">和</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">Shopping Cart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">。</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">1</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">、术语解释。</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">购物车</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">/ShoppingCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">：模拟现实的购物车，存放顾客选购的商品。</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">购物车元素</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">/ShoppingCartItem</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">：表示每个加入购物车的商品，</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">1</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">个购物车元素对应一个商品。</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">迷你车</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">/MiniCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">：购物车的微缩版，只显示最后（或者近几个）加入购物车商品，会附加一些促销的信息。</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">2</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">、用例（</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">Use</span>
				<span lang="EN-US" style="FONT-FAMILY: SimSun">Case</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">用例（</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">Use</span>
				<span lang="EN-US" style="FONT-FAMILY: SimSun">Case</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）是顾客对购物车进行直接操作的事件。</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">经过分析，得出的用例如下图：</p>
		<p style="MARGIN: 0in; mso-outline-level: 1"> <img src="http://www.blogjava.net/images/blogjava_net/faith/13332/r_use%20case.jpg" /></p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">3</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">、业务实体。</span>
		</p>
		<p style="MARGIN: 0in; mso-outline-level: 1"> <img src="http://www.blogjava.net/images/blogjava_net/faith/13332/r_entitys.jpg" /></p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">描述如下：</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">1</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">ShoppingCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">和</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">ShoppingCartItem</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">是聚合关系，即</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">ShoppingCartItem</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">生命周期依赖于</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">ShoppingCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">；</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">2</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">MiniCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">和和</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">ShoppingCartItem</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">是组合关系，一个</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">MiniCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">可以呈现多个</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">ShoppingCartItem</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">，</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">ShoppingCartItem</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">生命周期和</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">MiniCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">没有直接关系；</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">3</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">MiniCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">对</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">ShoppingCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">有依赖关系，如果还没有为顾客分配</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">ShoppingCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">，则</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">MiniCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">也为空。</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">4</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">、时序图。</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">描述顾客和购物车之间的交互关系，并表述对象之间的时间顺序可以用时序图表达，但限于篇幅，</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">笔者只对其中的【将商品加入购物车】进行设计。</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">4.1 </span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">基本流如下：</span>
		</p>
		<p style="MARGIN: 0in; mso-outline-level: 1"> <img src="http://www.blogjava.net/images/blogjava_net/faith/13332/r_add.jpg" /></p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">流程描述如下：</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">顾客</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">
						<span style="mso-spacerun: yes">                                                    </span>
				</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">服务器</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">1</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）查看商品；</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">2</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）将商品加入购物车；</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">
						<span style="mso-spacerun: yes">                                                         </span>3</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）购物车模块判断可以加入；</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">
						<span style="mso-spacerun: yes">                                                         </span>4</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）将该商品加入购物车；</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">
						<span style="mso-spacerun: yes">                                                         </span>5</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）调用其它接口对购物车进行处理（如计费接口）；</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">
						<span style="mso-spacerun: yes">                                                         </span>6</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）调用</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">MiniCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">接口组装返回数据；</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">
						<span style="mso-spacerun: yes">                                                         </span>7</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）呈现</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">MiniCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">页面；</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">8</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）查看</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">MiniCart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">页面。</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">4.2 </span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">扩展流如下：</span>
		</p>
		<p style="MARGIN: 0in; mso-outline-level: 1"> <img src="http://www.blogjava.net/images/blogjava_net/faith/13332/r_add2.jpg" /></p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">1</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">Add</span>
				<span lang="EN-US" style="FONT-FAMILY: SimSun">to cart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">时，通过购买验证，发现顾客等级不足以购买当前商品，则返回提示信息，流程结束。</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">2</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">）另外还有其它的扩展流，比如库存不足等，由于很相似，所以在本文就不画图了。</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">5</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">、其它。</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">下图表达了一个顾客进入网站后选购商品——结帐的活动过程概述。</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">其中对</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">Add</span>
				<span lang="EN-US" style="FONT-FAMILY: SimSun">to cart</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">的子流程做了描述，结帐流程不在本文描述范围。</span>
		</p>
		<p style="MARGIN: 0in; mso-outline-level: 1"> <img src="http://www.blogjava.net/images/blogjava_net/faith/13332/r_huodong.JPG" /></p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">下一篇将进行实体和接口的具体设计，请关注。</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
		<p lang="EN-US" style="FONT-SIZE: 12pt; MARGIN: 0in; FONT-FAMILY: 宋体; mso-outline-level: 1">【转载请注明出处！】</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">笔者现在</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">
				</span>
				<a href="http://www.probiz.cn/">
						<font color="#1d58d1">
								<span lang="EN-US" style="FONT-FAMILY: Verdana">www</span>
								<span lang="EN-US" style="FONT-FAMILY: 宋体">.probiz.cn</span>
						</font>
				</a>
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">任项目主管，进行基于</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体">J2EE</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">电子商务套件的研发。 </span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">产品在线</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">demo</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">
				</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">请垂阅：</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">
				</span>
				<span lang="EN-US" style="COLOR: #1d58d1; FONT-FAMILY: Verdana">
						<a href="http://demo.probiz.cn/">
								<font color="#1d58d1">http://demo.probiz.cn</font>
						</a>
				</span>
		</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">后台：<a href="http://demo.probiz.cn/StoreAdmin"><font color="#1d58d1">http://demo.probiz.cn/StoreAdmin</font></a></p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">笔者对</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">J</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">
				</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体">2EE</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">相关技术及电子商务方面有所研究，欢迎进行交流。</span>
		</p>
		<p lang="EN-US" style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">QQ：16399476</p>
		<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">MSN</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">
				</span>
				<span lang="ZH-CN" style="FONT-FAMILY: 宋体">：</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">
				</span>
				<span lang="EN-US" style="FONT-FAMILY: Verdana">yanchaomin</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">
				</span>
				<span lang="EN-US" style="FONT-FAMILY: 宋体">@hotmail.com</span>
		</p>
<img src ="http://www.blogjava.net/liaojiyong/aggbug/105502.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liaojiyong/" target="_blank">liaojiyong</a> 2007-03-22 11:16 <a href="http://www.blogjava.net/liaojiyong/archive/2007/03/22/105502.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>使用SiteMesh简化网页布局(转)</title><link>http://www.blogjava.net/liaojiyong/archive/2007/03/22/105501.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Thu, 22 Mar 2007 03:14:00 GMT</pubDate><guid>http://www.blogjava.net/liaojiyong/archive/2007/03/22/105501.html</guid><wfw:comment>http://www.blogjava.net/liaojiyong/comments/105501.html</wfw:comment><comments>http://www.blogjava.net/liaojiyong/archive/2007/03/22/105501.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liaojiyong/comments/commentRss/105501.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liaojiyong/services/trackbacks/105501.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span style="FONT-FAMILY: 宋体">在公司项目使用了</span>
				<span lang="EN-US">Appfuse</span>
				<span style="FONT-FAMILY: 宋体">，其带有</span>
				<span lang="EN-US">SiteMesh</span>
				<span style="FONT-FAMILY: 宋体">对于网页布局简化让我感觉很好用，本文旨在对对</span>
				<span lang="EN-US">Sitemesh</span>
				<span style="FONT-FAMILY: 宋体">的基本原理和在项目中使用</span>
				<span lang="EN-US">Sitemesh</span>
				<span style="FONT-FAMILY: 宋体">的实现流程、使用技巧的介绍。</span>
		</p>
		<h1 style="MARGIN: 17pt 0cm 16.5pt 21.25pt; TEXT-INDENT: -21.25pt">
				<span lang="EN-US">
						<span>1.<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">   </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">基本原理</span>
		</h1>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">SiteMesh</span>
				<span style="FONT-FAMILY: 宋体">是以</span>
				<span lang="EN-US">Servlet 2.3API</span>
				<span style="FONT-FAMILY: 宋体">为基础。它包含一个引擎，用来解析输出的网页或者网页片段，决定是否需要应用装饰器以及合并合适的装饰器。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<span>       </span>SiteMesh</span>
				<span style="FONT-FAMILY: 宋体">与应用内容无关，适用的内容格式包括</span>
				<span lang="EN-US">Html</span>
				<span style="FONT-FAMILY: 宋体">、</span>
				<span lang="EN-US">JSP</span>
				<span style="FONT-FAMILY: 宋体">、</span>
				<span lang="EN-US">Servlet</span>
				<span style="FONT-FAMILY: 宋体">、</span>
				<span lang="EN-US">XSL</span>
				<span style="FONT-FAMILY: 宋体">，甚至</span>
				<span lang="EN-US">CGI</span>
				<span style="FONT-FAMILY: 宋体">。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<?XML:NAMESPACE PREFIX = O /?>
						<o:p> </o:p>
				</span>
		</p>
		<h1 style="MARGIN: 17pt 0cm 16.5pt 21.25pt; TEXT-INDENT: -21.25pt">
				<span lang="EN-US">
						<span>2.<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">   </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">实现流程</span>
		</h1>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt">
				<span lang="EN-US">
						<span>1）<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">当为</span>
				<span lang="EN-US">Servlet</span>
				<span style="FONT-FAMILY: 宋体">容器指定一个</span>
				<span lang="EN-US">Http</span>
				<span style="FONT-FAMILY: 宋体">请求时，</span>
				<span lang="EN-US">SiteMesh</span>
				<span style="FONT-FAMILY: 宋体">截取请求，使用一个</span>
				<span lang="EN-US">Servlet Filter</span>
				<span style="FONT-FAMILY: 宋体">，然后捕捉</span>
				<span lang="EN-US">Html</span>
				<span style="FONT-FAMILY: 宋体">结果。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt">
				<span lang="EN-US">
						<span>2）<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">然后这个</span>
				<span lang="EN-US">Html</span>
				<span style="FONT-FAMILY: 宋体">被解析，并且任何相关的内容都被提取到一个</span>
				<span lang="EN-US">Page</span>
				<span style="FONT-FAMILY: 宋体">对象中。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt">
				<span lang="EN-US">
						<span>3）<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">  </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">询问</span>
				<span lang="EN-US">DecoratorMapper</span>
				<span style="FONT-FAMILY: 宋体">来确定那一个装饰器需要被应用。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt; TEXT-INDENT: -18pt">
				<span lang="EN-US">
						<span>4）<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">  </span></span>
				</span>
				<span lang="EN-US">Servlet</span>
				<span style="FONT-FAMILY: 宋体">向包含装饰器的</span>
				<span lang="EN-US">JSP</span>
				<span style="FONT-FAMILY: 宋体">发送请求。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">5</span>
				<span style="FONT-FAMILY: 宋体">）装饰器生成带有从</span>
				<span lang="EN-US">page</span>
				<span style="FONT-FAMILY: 宋体">对象中获得的内容的</span>
				<span lang="EN-US">Html</span>
				<span style="FONT-FAMILY: 宋体">布局。</span>
				<br />
				<br />
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">
						<o:p>大致流程如下图：<br /><br /><img src="http://www.blogjava.net/images/blogjava_net/faith/13332/o_Sitemesh%e6%b5%81%e7%a8%8b.jpg" /> </o:p>
						<br />
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 21pt">
				<span lang="EN-US">
						<br />         Sitemesh</span>
				<span style="FONT-FAMILY: 宋体">这样的好处是，所有具体业务页面的开发者无需考虑该页面将处在最终输出页面的那个位置。无需</span>
				<span lang="EN-US">include</span>
				<span style="FONT-FAMILY: 宋体">一大堆页面，以后如果系统整体改版，那么只需要改写装饰器页面及重新配置装饰规则即可完成，方便快捷，可维护性极好。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<h1 style="MARGIN: 17pt 0cm 16.5pt 21.25pt; TEXT-INDENT: -21.25pt">
				<span lang="EN-US">
						<span>3.<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">   </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">在项目中使用</span>
				<span lang="EN-US">Sitemesh</span>
		</h1>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt">
				<span lang="EN-US">
						<span>1.<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">         </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">将</span>
				<span lang="EN-US">sitemesh_[version].jar</span>
				<span style="FONT-FAMILY: 宋体">包加到</span>
				<span lang="EN-US">WEB-INF\lib</span>
				<span style="FONT-FAMILY: 宋体">下</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt">
				<span lang="EN-US">
						<span>2.<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">         </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">在</span>
				<span lang="EN-US">web.xml</span>
				<span style="FONT-FAMILY: 宋体">中增加</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"> </p>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: rgb(0,0,0)">       </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">filter</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />              </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">filter-name</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">sitemesh</span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">filter-name</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />              </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">filter-class</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">com.opensymphony.module.sitemesh.filter.PageFilter</span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">filter-class</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />       </span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">filter</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />       </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">filter-mapping</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />              </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">filter-name</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">sitemesh</span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">filter-name</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />              </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">url-pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">/*</span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">url-pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />       </span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">filter-mapping</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"> </p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US">
						<span>       </span>
				</span>
				<span style="FONT-FAMILY: 宋体">表示对系统中所有</span>
				<span lang="EN-US">url</span>
				<span style="FONT-FAMILY: 宋体">请求均使用</span>
				<span lang="EN-US">sitemesh Filter</span>
				<span style="FONT-FAMILY: 宋体">进行拦截。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt">
				<span lang="EN-US">
						<span>3.<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">         </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">在</span>
				<span lang="EN-US">WEB-INF</span>
				<span style="FONT-FAMILY: 宋体">下配置</span>
				<span lang="EN-US">sitemesh.xml</span>
				<span style="FONT-FAMILY: 宋体">和</span>
				<span lang="EN-US">decorator.xml</span>
				<span style="FONT-FAMILY: 宋体">配置文件。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US">Sitemesh.xml</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"> </p>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">sitemesh</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">property </span>
				<span style="COLOR: rgb(255,0,0)">name</span>
				<span style="COLOR: rgb(0,0,255)">="decorators-file"</span>
				<span style="COLOR: rgb(255,0,0)"> value</span>
				<span style="COLOR: rgb(0,0,255)">="/WEB-INF/decorators.xml"</span>
				<span style="COLOR: rgb(0,0,255)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">excludes </span>
				<span style="COLOR: rgb(255,0,0)">file</span>
				<span style="COLOR: rgb(0,0,255)">="${decorators-file}"</span>
				<span style="COLOR: rgb(0,0,255)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">page-parsers</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">parser </span>
				<span style="COLOR: rgb(255,0,0)">default</span>
				<span style="COLOR: rgb(0,0,255)">="true"</span>
				<span style="COLOR: rgb(255,0,0)"> class</span>
				<span style="COLOR: rgb(0,0,255)">="com.opensymphony.module.sitemesh.parser.HTMLPageParser"</span>
				<span style="COLOR: rgb(0,0,255)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">parser </span>
				<span style="COLOR: rgb(255,0,0)">content-type</span>
				<span style="COLOR: rgb(0,0,255)">="text/html"</span>
				<span style="COLOR: rgb(255,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />class</span>
				<span style="COLOR: rgb(0,0,255)">="com.opensymphony.module.sitemesh.parser.HTMLPageParser"</span>
				<span style="COLOR: rgb(0,0,255)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">parser </span>
				<span style="COLOR: rgb(255,0,0)">content-type</span>
				<span style="COLOR: rgb(0,0,255)">="text/html;charset=ISO-8859-1"</span>
				<span style="COLOR: rgb(255,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />class</span>
				<span style="COLOR: rgb(0,0,255)">="com.opensymphony.module.sitemesh.parser.HTMLPageParser"</span>
				<span style="COLOR: rgb(0,0,255)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">page-parsers</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">decorator-mappers</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                  </span>
				<span style="COLOR: rgb(0,128,0)">&lt;!--</span>
				<span style="COLOR: rgb(0,128,0)"> for print </span>
				<span style="COLOR: rgb(0,128,0)">--&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">mapper </span>
				<span style="COLOR: rgb(255,0,0)">class</span>
				<span style="COLOR: rgb(0,0,255)">="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper"</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                            </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">param </span>
				<span style="COLOR: rgb(255,0,0)">name</span>
				<span style="COLOR: rgb(0,0,255)">="decorator"</span>
				<span style="COLOR: rgb(255,0,0)"> value</span>
				<span style="COLOR: rgb(0,0,255)">="printable"</span>
				<span style="COLOR: rgb(255,0,0)"> </span>
				<span style="COLOR: rgb(0,0,255)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                            </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">param </span>
				<span style="COLOR: rgb(255,0,0)">name</span>
				<span style="COLOR: rgb(0,0,255)">="parameter.name"</span>
				<span style="COLOR: rgb(255,0,0)"> value</span>
				<span style="COLOR: rgb(0,0,255)">="printable"</span>
				<span style="COLOR: rgb(255,0,0)"> </span>
				<span style="COLOR: rgb(0,0,255)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                            </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">param </span>
				<span style="COLOR: rgb(255,0,0)">name</span>
				<span style="COLOR: rgb(0,0,255)">="parameter.value"</span>
				<span style="COLOR: rgb(255,0,0)"> value</span>
				<span style="COLOR: rgb(0,0,255)">="true"</span>
				<span style="COLOR: rgb(255,0,0)"> </span>
				<span style="COLOR: rgb(0,0,255)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">mapper</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">mapper </span>
				<span style="COLOR: rgb(255,0,0)">class</span>
				<span style="COLOR: rgb(0,0,255)">="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper"</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">param </span>
				<span style="COLOR: rgb(255,0,0)">name</span>
				<span style="COLOR: rgb(0,0,255)">="config"</span>
				<span style="COLOR: rgb(255,0,0)"> value</span>
				<span style="COLOR: rgb(0,0,255)">="${decorators-file}"</span>
				<span style="COLOR: rgb(0,0,255)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">mapper</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">decorator-mappers</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">sitemesh</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"> </p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US">Decorator.xml</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"> </p>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">decorators </span>
				<span style="COLOR: rgb(255,0,0)">defaultdir</span>
				<span style="COLOR: rgb(0,0,255)">="/decorators"</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">excludes</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">/demos/*</span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">/resources/*</span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">/test*</span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">/FCKeditor/*</span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">excludes</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </span>
				<span style="COLOR: rgb(0,128,0)">&lt;!--</span>
				<span style="COLOR: rgb(0,128,0)"> decorator for print(has parameter: printable=true)</span>
				<span style="COLOR: rgb(0,128,0)">--&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">decorator </span>
				<span style="COLOR: rgb(255,0,0)">name</span>
				<span style="COLOR: rgb(0,0,255)">="printable"</span>
				<span style="COLOR: rgb(255,0,0)"> page</span>
				<span style="COLOR: rgb(0,0,255)">="decPrintable.jsp"</span>
				<span style="COLOR: rgb(0,0,255)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">decorator </span>
				<span style="COLOR: rgb(255,0,0)">name</span>
				<span style="COLOR: rgb(0,0,255)">="login"</span>
				<span style="COLOR: rgb(255,0,0)"> page</span>
				<span style="COLOR: rgb(0,0,255)">="decLogin.jsp"</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />                   </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">*login*</span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">          </span>
				<span style="COLOR: rgb(0,0,255)">&lt;!</span>
				<span style="COLOR: rgb(255,0,255)">—url 映射模式 --</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />         </span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">decorator</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">decorator </span>
				<span style="COLOR: rgb(255,0,0)">name</span>
				<span style="COLOR: rgb(0,0,255)">="default"</span>
				<span style="COLOR: rgb(255,0,0)"> page</span>
				<span style="COLOR: rgb(0,0,255)">="decDefault.jsp"</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,255)">&lt;</span>
				<span style="COLOR: rgb(128,0,0)">pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">/*</span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">pattern</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">                </span>
				<span style="COLOR: rgb(0,0,255)">&lt;!</span>
				<span style="COLOR: rgb(255,0,255)">— 缺省的装饰器 --</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">decorator</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: rgb(0,0,255)">&lt;/</span>
				<span style="COLOR: rgb(128,0,0)">decorators</span>
				<span style="COLOR: rgb(0,0,255)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
		</div>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"> </p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">sitemesh.xml</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">中配置了两个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DecoratorMapper</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">PrintableDecoratorMapper</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ConfigDecoratorMapper</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">PrintableDecoratorMapper</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">是供打印专用，在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">url</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">后加上</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">printable=true</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">即会使用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">decorator.xml</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">中指定的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">printable</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体">装饰器来对页面进行装饰，一般来说打印页面是只需要打印本页面的内容，其余的如头、脚、导航栏、左右菜单等是不需要打印的，通过装饰器可以轻松实现打印页面的过滤。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt">
				<span lang="EN-US">
						<span>4.<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">         </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">创建一个装饰器</span>
				<span lang="EN-US">JSP</span>
				<span style="FONT-FAMILY: 宋体">页面，我建议所有装饰器页面放到</span>
				<span lang="EN-US">decorators</span>
				<span style="FONT-FAMILY: 宋体">目录，并且以</span>
				<span lang="EN-US">dec[</span>
				<span style="FONT-FAMILY: 宋体">功能</span>
				<span lang="EN-US">].jsp</span>
				<span style="FONT-FAMILY: 宋体">作为命名方式，如</span>
				<span lang="EN-US">decPrintable.jsp</span>
				<span style="FONT-FAMILY: 宋体">、</span>
				<span lang="EN-US">decDefault.jsp</span>
				<span style="FONT-FAMILY: 宋体">。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span style="FONT-FAMILY: 宋体">下面是一个装饰器的代码：</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt">
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"> </p>
		<div style="BORDER-RIGHT: rgb(204,204,204) 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: rgb(204,204,204) 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: rgb(204,204,204) 1px solid; WIDTH: 98%; PADDING-TOP: 4px; BORDER-BOTTOM: rgb(204,204,204) 1px solid; BACKGROUND-COLOR: rgb(238,238,238)">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: rgb(0,0,0)">&lt;!</span>
				<span style="COLOR: rgb(0,0,0)">DOCTYPE html PUBLIC </span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">-//W3C//DTD XHTML 1.0 Transitional//EN</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: rgb(0,0,0)">&lt;%--</span>
				<span style="COLOR: rgb(0,0,0)"> Include common set of tag library declarations </span>
				<span style="COLOR: rgb(0,0,255)">for</span>
				<span style="COLOR: rgb(0,0,0)"> each layout </span>
				<span style="COLOR: rgb(0,0,0)">--%&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: rgb(0,0,0)">&lt;%</span>
				<span style="COLOR: rgb(0,0,0)">@ include file</span>
				<span style="COLOR: rgb(0,0,0)">=</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">/common/taglibs.jsp</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">%&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: rgb(0,0,0)">&lt;</span>
				<span style="COLOR: rgb(0,0,0)">html xmlns</span>
				<span style="COLOR: rgb(0,0,0)">=</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">http://www.w3.org/1999/xhtml</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)"> xml:lang</span>
				<span style="COLOR: rgb(0,0,0)">=</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">en</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,0)">&lt;</span>
				<span style="COLOR: rgb(0,0,0)">head</span>
				<span style="COLOR: rgb(0,0,0)">&gt;<br /></span>
				<span style="COLOR: rgb(0,0,0)">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,0)">&lt;</span>
				<span style="COLOR: rgb(0,0,0)">decorator:head</span>
				<span style="COLOR: rgb(0,0,0)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    </span>
				<span style="COLOR: rgb(0,0,0)">&lt;/</span>
				<span style="COLOR: rgb(0,0,0)">head</span>
				<span style="COLOR: rgb(0,0,0)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: rgb(0,0,0)">&lt;</span>
				<span style="COLOR: rgb(0,0,0)">body<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: rgb(0,0,0)">&lt;</span>
				<span style="COLOR: rgb(0,0,0)">decorator:getProperty property</span>
				<span style="COLOR: rgb(0,0,0)">=</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">body.id</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)"> writeEntireProperty</span>
				<span style="COLOR: rgb(0,0,0)">=</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">true</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: rgb(0,0,0)">&lt;</span>
				<span style="COLOR: rgb(0,0,0)">decorator:getProperty property</span>
				<span style="COLOR: rgb(0,0,0)">=</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">body.onload</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)"> writeEntireProperty</span>
				<span style="COLOR: rgb(0,0,0)">=</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">true</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: rgb(0,0,0)">&lt;</span>
				<span style="COLOR: rgb(0,0,0)">decorator:getProperty property</span>
				<span style="COLOR: rgb(0,0,0)">=</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">body.onunload</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)"> writeEntireProperty</span>
				<span style="COLOR: rgb(0,0,0)">=</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">true</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: rgb(0,0,0)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">      <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,0)">&lt;%</span>
				<span style="COLOR: rgb(0,0,0)">@ include file</span>
				<span style="COLOR: rgb(0,0,0)">=</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">/common/header.jsp</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">%&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
						<br />
				</span>
				<span style="COLOR: rgb(0,0,0)">            </span>
				<span style="COLOR: rgb(0,0,0)">&lt;</span>
				<span style="COLOR: rgb(0,0,0)">h1</span>
				<span style="COLOR: rgb(0,0,0)">&gt;&lt;</span>
				<span style="COLOR: rgb(0,0,0)">decorator:getProperty property</span>
				<span style="COLOR: rgb(0,0,0)">=</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">page.heading</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">/&gt;&lt;/</span>
				<span style="COLOR: rgb(0,0,0)">h1</span>
				<span style="COLOR: rgb(0,0,0)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)"> </span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span>
				<span style="COLOR: rgb(0,0,0)">&lt;%</span>
				<span style="COLOR: rgb(0,0,0)">@ include file</span>
				<span style="COLOR: rgb(0,0,0)">=</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">/common/messages.jsp</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)"> </span>
				<span style="COLOR: rgb(0,0,0)">%&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />            </span>
				<span style="COLOR: rgb(0,0,0)">&lt;</span>
				<span style="COLOR: rgb(0,0,0)">decorator:body</span>
				<span style="COLOR: rgb(0,0,0)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
				</span>
				<span style="COLOR: rgb(0,0,0)">
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span>
				<span style="COLOR: rgb(0,0,0)">&lt;</span>
				<span style="COLOR: rgb(0,0,0)">jsp:include page</span>
				<span style="COLOR: rgb(0,0,0)">=</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">/common/footer.jsp</span>
				<span style="COLOR: rgb(0,0,0)">"</span>
				<span style="COLOR: rgb(0,0,0)">/&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: rgb(0,0,0)">&lt;/</span>
				<span style="COLOR: rgb(0,0,0)">body</span>
				<span style="COLOR: rgb(0,0,0)">&gt;</span>
				<span style="COLOR: rgb(0,0,0)">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: rgb(0,0,0)">&lt;/</span>
				<span style="COLOR: rgb(0,0,0)">html</span>
				<span style="COLOR: rgb(0,0,0)">&gt;</span>
		</div>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt"> </p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt">
				<span style="FONT-FAMILY: 宋体">注意其</span>
				<span lang="EN-US">&lt;decorator:…&gt;</span>
				<span style="FONT-FAMILY: 宋体">标签，这些标签将被装饰的</span>
				<span lang="EN-US">page</span>
				<span style="FONT-FAMILY: 宋体">页面的相应内容作为属性传入。</span>
				<span lang="EN-US">Page</span>
				<span style="FONT-FAMILY: 宋体">页面的相关内容将放在</span>
				<span lang="EN-US">decorator</span>
				<span style="FONT-FAMILY: 宋体">标签所指定的位置。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt">
				<span lang="EN-US">Title</span>
				<span style="FONT-FAMILY: 宋体">：标题</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt">
				<span lang="EN-US">Head</span>
				<span style="FONT-FAMILY: 宋体">：头部，一般是公共的</span>
				<span lang="EN-US">js</span>
				<span style="FONT-FAMILY: 宋体">、</span>
				<span lang="EN-US">css</span>
				<span style="FONT-FAMILY: 宋体">及</span>
				<span lang="EN-US">meta</span>
				<span style="FONT-FAMILY: 宋体">。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 39pt">
				<span lang="EN-US">Body</span>
				<span style="FONT-FAMILY: 宋体">：被装饰的</span>
				<span lang="EN-US">page</span>
				<span style="FONT-FAMILY: 宋体">的主体内容。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">5</span>
				<span style="FONT-FAMILY: 宋体">、</span>
				<span lang="EN-US">Sitemesh</span>
				<span style="FONT-FAMILY: 宋体">通过在</span>
				<span lang="EN-US">sitemesh.xml</span>
				<span style="FONT-FAMILY: 宋体">中配置</span>
				<span lang="EN-US">DecoratorMapper</span>
				<span style="FONT-FAMILY: 宋体">配置映射器，通过在</span>
				<span lang="EN-US">decorator.xml</span>
				<span style="FONT-FAMILY: 宋体">中配置装饰器文件及其匹配方式。当有页面需要输出到客户端时，将根据这些配置选择相应的装饰器来进行装饰，将装饰结果返回给客户界面。</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">
						<o:p> </o:p>
				</span>
		</p>
		<h1 style="MARGIN: 17pt 0cm 16.5pt 21.25pt; TEXT-INDENT: -21.25pt">
				<span lang="EN-US">
						<span>4.<span style="FONT: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal">   </span></span>
				</span>
				<span style="FONT-FAMILY: 宋体">参考资料</span>
		</h1>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-FAMILY: 宋体">关于</span>
				<span lang="EN-US">Sitemesh</span>
				<span style="FONT-FAMILY: 宋体">的</span>
				<span lang="EN-US">api</span>
				<span style="FONT-FAMILY: 宋体">及详细使用说明可以参看其官方网站</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US">http://www.opensymphony.com/sitemesh</span>
		</p>
<img src ="http://www.blogjava.net/liaojiyong/aggbug/105501.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liaojiyong/" target="_blank">liaojiyong</a> 2007-03-22 11:14 <a href="http://www.blogjava.net/liaojiyong/archive/2007/03/22/105501.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>noName</title><link>http://www.blogjava.net/liaojiyong/archive/2006/07/24/59830.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Mon, 24 Jul 2006 07:52:00 GMT</pubDate><guid>http://www.blogjava.net/liaojiyong/archive/2006/07/24/59830.html</guid><wfw:comment>http://www.blogjava.net/liaojiyong/comments/59830.html</wfw:comment><comments>http://www.blogjava.net/liaojiyong/archive/2006/07/24/59830.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liaojiyong/comments/commentRss/59830.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liaojiyong/services/trackbacks/59830.html</trackback:ping><description><![CDATA[<h1 class=listtitle>1.My Focus</h1>
<ul class=list>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl03_LinkList_ctl01_Link href="http://raibledesigns.com/wiki/AppFuse.html" target=_blank>1.AppFuse</a> <a class=listitem id=SingleColumn1_Categories_CatList_ctl03_LinkList_ctl01_RssLink title="Subscribe to 1.AppFuse" href="http://raibledesigns.com/wiki/rss.rdf">(rss)</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl03_LinkList_ctl02_Link href="http://www.springframework.org/" target=_blank>2.Spring</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl03_LinkList_ctl03_Link href="http://www.hibernate.org/" target=_blank>3.Hibernate</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl03_LinkList_ctl04_Link href="http://struts.apache.org/" target=_blank>4.Struts</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl03_LinkList_ctl05_Link href="http://logging.apache.org/log4j/" target=_blank>5.Log4j</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl03_LinkList_ctl06_Link href="http://jakarta.apache.org/commons/index.html" target=_blank>6.Jakarta Commons</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl03_LinkList_ctl07_Link href="http://www.junit.org/" target=_blank>7.JUnit</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl03_LinkList_ctl08_Link href="http://groovy.codehaus.org/" target=_blank>8.Groovy</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl03_LinkList_ctl09_Link href="http://www.python.org/" target=_blank>9.Python</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl03_LinkList_ctl10_Link href="http://www.amowa.net/buffalo/" target=_blank>Buffalo</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl03_LinkList_ctl11_Link href="http://displaytag.sourceforge.net/" target=_blank>DisplayTag</a> </li>
</ul>
<h1 class=listtitle>2.Online Docs</h1>
<ul class=list>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl04_LinkList_ctl01_Link href="http://www.redsaga.com/hibernate-ref/3.1.2/zh-cn/html/" target=_blank>Hibernate 3.1.2中文文档</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl04_LinkList_ctl02_Link href="http://java.sun.com/docs/books/tutorial/" target=_blank>Java Tutorial:J2SE 5.0</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl04_LinkList_ctl03_Link href="http://www.rubycentral.com/book/index.html" target=_blank>Programming Ruby</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl04_LinkList_ctl04_Link href="http://wiki.woodpecker.org.cn/moin/PyCookbook" target=_blank>Python Cookbook</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl04_LinkList_ctl05_Link href="http://www.gotapi.com/" target=_blank>Reference Lookup Service</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl04_LinkList_ctl06_Link href="http://www.jactiongroup.net/reference/html/" target=_blank>Spring 中文开发手册(1.1.PR)</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl04_LinkList_ctl07_Link href="http://www.woodpecker.org.cn:9081/doc/abyteofpython_cn/chinese/index.html" target=_blank>简明 Python 教程</a> </li>
</ul>
<h1 class=listtitle>3.Chinese Community</h1>
<ul class=list>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl05_LinkList_ctl01_Link href="http://dev2dev.bea.com.cn/" target=_blank>BEA dev2dev</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl05_LinkList_ctl02_Link href="http://www-128.ibm.com/developerworks/cn/?ca=cnhomepage&amp;re=resources_devworks" target=_blank>IBM developerWorks(chs)</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl05_LinkList_ctl03_Link href="http://groups.google.com/group/J2EE-WEB" target=_blank>J2EE WEB应用,讨论组 </a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl05_LinkList_ctl04_Link href="http://www.javaeye.com/" target=_blank>JAVA视线论坛</a> <a class=listitem id=SingleColumn1_Categories_CatList_ctl05_LinkList_ctl04_RssLink title="Subscribe to JAVA视线论坛" href="http://www.javaeye.com/rss.php">(rss)</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl05_LinkList_ctl05_Link href="http://www.matrix.org.cn/" target=_blank>Matrix-与Java共舞</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl05_LinkList_ctl06_Link href="http://spring.jactiongroup.net/" target=_blank>SpringFramework中文论坛</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl05_LinkList_ctl07_Link href="http://gceclub.sun.com.cn/" target=_blank>SUN技术社区(chs)</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl05_LinkList_ctl08_Link href="http://www.woodpecker.org.cn/" target=_blank>啄木鸟Python开发社区</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl05_LinkList_ctl09_Link href="http://www.redsaga.com/" target=_blank>满江红.开源</a> </li>
</ul>
<h1 class=listtitle>4.English Community</h1>
<ul class=list>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl06_LinkList_ctl01_Link href="http://www.eclipse.org/" target=_blank>Eclipse.org</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl06_LinkList_ctl02_Link href="http://www.javaworld.com/" target=_blank>JavaWorld.com</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl06_LinkList_ctl03_Link href="http://www.jguru.com/" target=_blank>JGuru.com</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl06_LinkList_ctl04_Link href="http://www.onjava.com/" target=_blank>ONJava.com</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl06_LinkList_ctl05_Link href="http://www.opensymphony.com/" target=_blank>OpenSymphony</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl06_LinkList_ctl06_Link href="http://www.theserverside.com/" target=_blank>TheServerSide.COM</a> </li>
</ul>
<h1 class=listtitle>5.Source DEMO</h1>
<ul class=list>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl07_LinkList_ctl01_Link href="http://www.java2s.com/" target=_blank>Java examples</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl07_LinkList_ctl02_Link href="http://www.chinaitlab.com/www/school/codesearch/index.html" target=_blank>Java学习源代码检索系统</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl07_LinkList_ctl03_Link href="http://www.laliluna.de/" target=_blank>LaLiLuna</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl07_LinkList_ctl04_Link href="http://www.codezoo.com/" target=_blank>O'Reilly CodeZoo</a> <a class=listitem id=SingleColumn1_Categories_CatList_ctl07_LinkList_ctl04_RssLink title="Subscribe to O'Reilly CodeZoo" href="http://www.codezoo.com/news.xml">(rss)</a> </li>
</ul>
<h1 class=listtitle>6.Tech BLOG</h1>
<ul class=list>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl01_Link href="http://www.blogjava.net/galaxystar/" target=_blank>galaxystar</a> <a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl01_RssLink title="Subscribe to galaxystar" href="http://www.blogjava.net/galaxystar/Rss.aspx">(rss)</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl02_Link href="http://www.blogjava.net/luoqx/" target=_blank>java node</a> <a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl02_RssLink title="Subscribe to java node" href="http://www.blogjava.net/luoqx/Rss.aspx">(rss)</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl03_Link href="http://www.blogjava.net/kukoo/" target=_blank>kukooBlog</a> <a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl03_RssLink title="Subscribe to kukooBlog" href="http://www.blogjava.net/kukoo/rss.aspx">(rss)</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl04_Link href="http://www.donews.net/lizongbo" target=_blank>lizongbo 的编程学习</a> <a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl04_RssLink title="Subscribe to lizongbo 的编程学习" href="http://www.donews.net/lizongbo/Rss.aspx">(rss)</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl05_Link href="http://blog.csdn.net/javamxj/" target=_blank>分享Java快乐</a> <a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl05_RssLink title="Subscribe to 分享Java快乐" href="http://blog.csdn.net/javamxj/Rss.aspx">(rss)</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl06_Link href="http://blog.matrix.org.cn/page/magicgod" target=_blank>同事magicgod</a> <a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl06_RssLink title="Subscribe to 同事magicgod" href="http://blog.matrix.org.cn/rss/magicgod">(rss)</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl07_Link href="http://www.blogjava.net/SteelHand/" target=_blank>铁手剑谱</a> <a class=listitem id=SingleColumn1_Categories_CatList_ctl08_LinkList_ctl07_RssLink title="Subscribe to 铁手剑谱" href="http://www.blogjava.net/SteelHand/Rss.aspx">(rss)</a> </li>
</ul>
<h1 class=listtitle>7.Linux Community</h1>
<ul class=list>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl09_LinkList_ctl01_Link href="http://www.chinaunix.net/" target=_blank>ChinaUnix.net</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl09_LinkList_ctl02_Link href="http://fedora.redhat.com/" target=_blank>Fedora Project</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl09_LinkList_ctl03_Link href="http://www.linuxiso.org/" target=_blank>LinuxISO.org</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl09_LinkList_ctl04_Link href="http://www.linuxsir.org/" target=_blank>LinuxSir</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl09_LinkList_ctl05_Link href="http://www.chinalinuxpub.com/" target=_blank>Linux技术中坚站</a>
    <li class=listitem><a class=listitem id=SingleColumn1_Categories_CatList_ctl09_LinkList_ctl06_Link href="http://www.rpmfind.net/" target=_blank>Rpmfind</a> </li>
</ul>
<p class=listitem><br><a href="http://sourceforge.net/projects/speedframework">http://sourceforge.net/projects/speedframework</a> <br><br><br><a href="http://www.instantiations.com/codepro/index.html">http://www.instantiations.com/codepro/index.html<br></a></p>
<p class=bodyhead style="COLOR: #521268">AUTOMATED JAVA TESTING TOOLS</p>
<p class=bodyhead>Defect Detection, Repair and Reporting</p>
<p class=bodyhead>Automated JUnit Test Generation</p>
<p class=bodyhead>JUnit Test Editor</p>
<p class=bodyhead>Code Coverage Analysis</p>
<p class=bodyhead>Static Code Analysis</p>
<div class=body>
<p>Benefit by</p>
<ul>
    <li>Driving out quality problems earlier in the development process
    <li>Creating tight, maintainable systems
    <li>Enforcing quality measures across teams
    <li>Spending less time and money to develop high-performance Java systems </li>
</ul>
</div>
<img src ="http://www.blogjava.net/liaojiyong/aggbug/59830.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liaojiyong/" target="_blank">liaojiyong</a> 2006-07-24 15:52 <a href="http://www.blogjava.net/liaojiyong/archive/2006/07/24/59830.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是白盒测试，什么是黑盒测试?(转)</title><link>http://www.blogjava.net/liaojiyong/archive/2006/07/18/58843.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Tue, 18 Jul 2006 12:28:00 GMT</pubDate><guid>http://www.blogjava.net/liaojiyong/archive/2006/07/18/58843.html</guid><wfw:comment>http://www.blogjava.net/liaojiyong/comments/58843.html</wfw:comment><comments>http://www.blogjava.net/liaojiyong/archive/2006/07/18/58843.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liaojiyong/comments/commentRss/58843.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liaojiyong/services/trackbacks/58843.html</trackback:ping><description><![CDATA[答：白盒测试和黑盒测试是根据对软件代码的可见性，采用的测试方法；凡是针对代码本身的测试，都可以看做是白盒测试，凡是不考虑代码如何实现，只对代码能实现的功能进行的测试都可以看作黑盒测试。<br />    black box testing focus on functional requirements,attempts to find following errors: <br />    1.incorrect or missing functions; <br />    2.interfaces errors; <br />    3.errors in data structures or extenal database access; <br />    4.performance errors; <br />    5.initialisation and termination errors <br /><br />    white box testing test control structure of a procedural design can derive test cases to ensure: <br />    1.all independent paths are exercised at least once; <br />    2.all logic decisions are exercised both ture and false paths; <br />    3.all loops are executed at their boundaries and within operational bounds; <br />    4.all internal data structure are exercised to ensure validity; <br /><!-- InstanceEndEditable --><strong><br />白盒与黑盒测试什么区分?<br /><br /></strong>1、黑盒测试<br /><br />　　黑盒测试也称功能测试或数据驱动测试，它是在已知产品所应具有的功能，通过测试来检测每个功能是否都能正常使用，在测试时，把程序看作一个不能打开的黑盆子，在完全不考虑程序内部结构和内部特性的情况下，测试者在程序接口进行测试，它只检查程序功能是否按照需求规格说明书的规定正常使用，程序是否能适当地接收输入数锯而产生正确的输出信息，并且保持外部信息（如数据库或文件）的完整性。黑盒测试方法主要有等价类划分、边值分析、因—果图、错误推测等，主要用于软件确认测试。 “黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试。“黑盒”法是穷举输入测试，只有把所有可能的输入都作为测试情况使用，才能以这种方法查出程序中所有的错误。实际上测试情况有无穷多个，人们不仅要测试所有合法的输入，而且还要对那些不合法但是可能的输入进行测试。<br /><br /><br />2、白盒测试<br /><br />　　白盒测试也称结构测试或逻辑驱动测试，它是知道产品内部工作过程，可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行，按照程序内部的结构测试程序，检验程序中的每条通路是否都有能按预定要求正确工作，而不顾它的功能，白盒测试的主要方法有逻辑驱动、基路测试等，主要用于软件验证。<br /><br />　　“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。在使用这一方案时，测试者必须检查程序的内部结构，从检查程序的逻辑着手，得出测试数据。贯穿程序的独立路径数是天文数字。但即使每条路径都测试了仍然可能有错误。第一，穷举路径测试决不能查出程序违反了设计规范，即程序本身是个错误的程序。第二，穷举路径测试不可能查出程序中因遗漏路径而出错。第三，穷举路径测试可能发现不了一些与数据相关的错误。<br /><br />软件人员使用白盒测试方法，主要想对程序模块进行如下的检查： <br />– 对程序模块的所有独立的执行路径至少测试一次；<br />– 对所有的逻辑判定，取 “ 真 ” 与取 “ 假 ” 的两种情况都至少测试一次； <br />– 在循环的边界和运行界限内执行循环体；<br />– 测试内部数据结构的有效性，等。 <br />具体包含的逻辑覆盖有： – 语句覆盖 – 判定覆盖 – 条件覆盖 – 判定－条件覆盖 – 条件组合覆盖 – 路径覆盖。<br /><br />a白盒测试技术 (White Box Testing) ： 深入到代码一级的测试，使用这种技术发现问题最早，效果也是最好的。该技术主要的特征是测试对象进入了代码内部，根据开发人员对代码和对程序的熟悉程度，对有需要的部分进行在软件编码阶段，开发人员根据自己对代码的理解和接触所进行的软件测试叫做白盒测试。这一阶段测试以软件开发人员为主，在 JAVA 平台使用 Xunit 系列工具进行测试， Xunit 测试工具是类一级的测试工具对每一个类和该类的方法进行测试。 <br /><br />b黑盒测试技术（ Black Box Testing ）：黑盒测试的内容主要有以下几个方面，但是主要还是功能部分。主要是覆盖全部的功能，可以结合兼容，性能测试等方面进行，根据软件需求，设计文档，模拟客户场景随系统进行实际的测试，这种测试技术是使用最多的测试技术涵盖了测试的方方面面，可以考虑以下方面 <br /><br />c正确性 (Correctness) ：计算结果，命名等方面。 <br /><br />d可用性 (Usability) ：是否可以满足软件的需求说明。 <br /><br />e边界条件 (Boundary Condition) ：输入部分的边界值，就是使用一般书中说的等价类划分，试试最大最小和非法数据等等。 <br /><br />f性能 (Performance) ： 正常使用的时间内系统完成一个任务需要的时间，多人同时使用的时候响应时间在可以接受范围内。 J2EE 技术实现的系统在性能方面更是需要照顾的，一般原则是 3 秒以下接受， 3-5 秒可以接受， 5 秒以上就影响易用性了。如果在测试过程中发现性能问题，修复起来是非常艰难的，因为这常常意味着程序的算法不好，结构不好，或者设计有问题。因此在产品开发的开始阶段，就要考虑到软件的性能问题 <br /><br />g压力测试 (Stress) ： 多用户情况可以考虑使用压力测试工具，建议将压力和性能测试结合起来进行。如果有负载平衡的话还要在服务器端打开监测工具 , 查看服务器 CPU 使用率，内存占用情况，如果有必要可以模拟大量数据输入，对硬盘的影响等等信息。如果有必要的话必须进行性能优化 ( 软硬件都可以 ) 。这里的压力测试针对的是某几项功能。 <br /><br />h错误恢复 (Error Recovery) ：错误处理，页面数据验证，包括突然间断电，输入脏数据等。 <br /><br />i安全性测试 (Security) ：这个领域正在研究中，防火墙、补丁包、杀毒软件等的就不必说了，不过可以考虑。破坏性测试时任意看了一些资料后得知 , 这里面设计到的知识 \ 内容可以写本书了 , 不是一两句可以说清的，特别是一些商务网站，或者跟钱有关，或者和公司秘密有关的 web 更是需要这方面的测试，在外国有一种专门干这一行的人叫安全顾问，可以审核代码，提出安全建议，出现紧急事件时的处理办法等，在国内没有听说哪里有专门搞安全技术测试的内容。 <br /><br />j 兼容性 (Compatibility) ：不同浏览器，不同应用程序版本在实现功能时的表现不同的上网方式，如果你测试的是一个公共网站的话。<img src ="http://www.blogjava.net/liaojiyong/aggbug/58843.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liaojiyong/" target="_blank">liaojiyong</a> 2006-07-18 20:28 <a href="http://www.blogjava.net/liaojiyong/archive/2006/07/18/58843.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Web应用中重复提交的问题的三种解决方案 （转）</title><link>http://www.blogjava.net/liaojiyong/archive/2006/06/29/55758.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Thu, 29 Jun 2006 07:12:00 GMT</pubDate><guid>http://www.blogjava.net/liaojiyong/archive/2006/06/29/55758.html</guid><wfw:comment>http://www.blogjava.net/liaojiyong/comments/55758.html</wfw:comment><comments>http://www.blogjava.net/liaojiyong/archive/2006/06/29/55758.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liaojiyong/comments/commentRss/55758.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liaojiyong/services/trackbacks/55758.html</trackback:ping><description><![CDATA[
		<div class="postbody">前两种是利用javascript,后面一种是在使用Struts的情况下的参考实现:<br /><br />1、javascript ，设置一个变量，只允许提交一次。<br /><table style="WIDTH: 562px; HEIGHT: 461px" cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="562" align="center" bordercolorlight="black" border="1"><tbody><tr><td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6"><pre><ccid_code>&lt;script language="javascript"&gt;
    var checkSubmitFlg = false;
    function checkSubmit()
	{
      if (checkSubmitFlg == true)
	  {
         return false;
      }
      checkSubmitFlg = true;
      return true;
   }
   document.ondblclick = 
   function docondblclick()
   {
    window.event.returnValue = false;
   }
   document.onclick =
   function doconclick()
   {
       if (checkSubmitFlg)
	   {
         window.event.returnValue = false;
       }
   }
&lt;/script&gt;

&lt;html:form action="myAction.do" 
method="post" onsubmit="return checkSubmit();"&gt;</ccid_code></pre></td></tr></tbody></table><br /><br /><center><ccid_nobr></ccid_nobr></center><br /><br />2、还是javascript，将提交按钮或者image置为disable <br /><br /><center><ccid_nobr><table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1"><tbody><tr><td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6"><pre><ccid_code>&lt;html:form action="myAction.do" 
method="post" 
    onsubmit="getElById('submitInput')
	.disabled = true;
	return true;
	"&gt;  
  
  &lt;html:image 
  styleId="submitInput"
  src="images/ok_b.gif" 
  border="0" /&gt;
  
  &lt;/html:form&gt;</ccid_code></pre></td></tr></tbody></table></ccid_nobr></center><br /><br />3、利用struts的同步令牌机制 <br /><br />利用同步令牌（Token）机制来解决Web应用中重复提交的问题，Struts也给出了一个参考实现。 <br /><br />基本原理： <br /><br />服务器端在处理到达的请求之前，会将请求中包含的令牌值与保存在当前用户会话中的令牌值进行比较， <br /><br />看是否匹配。在处理完该请求后，且在答复发送给客户端之前，将会产生一个新的令牌，该令牌除传给 <br /><br />客户端以外，也会将用户会话中保存的旧的令牌进行替换。这样如果用户回退到刚才的提交页面并再次 <br /><br />提交的话，客户端传过来的令牌就和服务器端的令牌不一致，从而有效地防止了重复提交的发生。 <br /><br /><center><ccid_nobr><table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1"><tbody><tr><td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6"><pre><ccid_code>if (isTokenValid(request, true))
{
  // your code here
    return mapping.findForward("success");
} else
{
    saveToken(request);
    return mapping.findForward
	("submitagain");
}</ccid_code></pre></td></tr></tbody></table></ccid_nobr></center><br /><br />Struts根据用户会话ID和当前系统时间来生成一个唯一（对于每个会话）令牌的，具体实现可以参考TokenProcessor类中的generateToken()方法。 <br /><br />1. //验证事务控制令牌,<?XML:NAMESPACE PREFIX = HTML /?><html:form>会自动根据session中标识生成一个隐含input代表令牌，防止两次提交 <br /><br />2. 在action中： <br /><br /><center><ccid_nobr><table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1"><tbody><tr><td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6"><pre><ccid_code>//&lt;input type="hidden" 
name="org.apache.struts.taglib.html.TOKEN" 
  // value="6aa35341f25184fd996c4c918255c3ae"&gt;
       if (!isTokenValid(request))
   errors.add(ActionErrors.GLOBAL_ERROR,
new ActionError("error.transaction.token"));
       resetToken(request);
	   //删除session中的令牌</ccid_code></pre></td></tr></tbody></table></ccid_nobr></center><br /><br />3. action有这样的一个方法生成令牌 <br /><br /><center><ccid_nobr><table cellspacing="0" bordercolordark="#ffffff" cellpadding="2" width="400" align="center" bordercolorlight="black" border="1"><tbody><tr><td class="code" style="FONT-SIZE: 9pt" bgcolor="#e6e6e6"><pre><ccid_code>protected String generateToken
 (HttpServletRequest request)
 {

       HttpSession session = 
	   request.getSession();
       try
	   {
           byte id[] = 
		   session.getId().getBytes();
           byte now[] =
               new Long(System.currentTimeMillis()).
			   toString().getBytes();
           MessageDigest md =
		   MessageDigest.getInstance("MD5");
           md.update(id);
           md.update(now);
           return (toHex(md.digest()));
       } catch (IllegalStateException e)
	   {
           return (null);
       } catch (NoSuchAlgorithmException e)
	   {
           return (null);
       }
   }</ccid_code></pre></td></tr></tbody></table></ccid_nobr></center></html:form></div>
		<style><![CDATA[
td { font-size: 12px }
.commentTextBox 
{ 
    font-family : Verdana; 
    font-size: 13px;
 }
]]&gt;</style>
		<!--Beging Temp Save-->
		<style><![CDATA[userData { BEHAVIOR: url(#default#userdata) }
	]]&gt;</style>
<img src ="http://www.blogjava.net/liaojiyong/aggbug/55758.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liaojiyong/" target="_blank">liaojiyong</a> 2006-06-29 15:12 <a href="http://www.blogjava.net/liaojiyong/archive/2006/06/29/55758.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>J2EE Web技术学习（转）</title><link>http://www.blogjava.net/liaojiyong/archive/2006/06/29/55753.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Thu, 29 Jun 2006 07:00:00 GMT</pubDate><guid>http://www.blogjava.net/liaojiyong/archive/2006/06/29/55753.html</guid><wfw:comment>http://www.blogjava.net/liaojiyong/comments/55753.html</wfw:comment><comments>http://www.blogjava.net/liaojiyong/archive/2006/06/29/55753.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liaojiyong/comments/commentRss/55753.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liaojiyong/services/trackbacks/55753.html</trackback:ping><description><![CDATA[
		<p>
				<a href="http://www.jdon.com/idea/jsf-struts.htm" target="_blank">JSF与Struts的区别</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/strutsapp/04002.htm" target="_blank">Struts应用系统案例设计编程讲解</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/jaas/06001.htm" target="_blank">基于容器的用户安全管理系统和JMS</a> 使用基于J2EE容器的安全验证体系，可以降低编程代码量，完全实现用户权限的配置管理，为J2EE应用系统带来用户体系设计的可伸缩性。JMS又是J2EE一个非常具有伸缩性的解决方案。</p>
		<p>
				<span class="style2">
						<a href="http://www.jdon.com/concurrent.htm" target="_blank">
								<strong>Java性能相关设计（内含10篇文章</strong>
						</a>
				</span>）Jsp将被编译成Serlvet,Servlet实际就是线程，如果需要深刻掌握Web技术，实际是需要理解线程等低层机制。</p>
		<h3 align="left">
				<strong>JBoss及J2EE的使用</strong>
		</h3>
		<p>
				<a href="http://www.jdon.com/idea/eclipse-jbossIDE.htm" target="_blank">开发基于Eclipse+Jboss+Mysql的J2EE应用系统</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/j2eebasic.htm" target="_blank">初学者如何开发出一个高质量的J2EE系统</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/chinesejava.htm" target="_blank">Java/J2EE中文问题终极解决之道</a>
		</p>
		<p>
				<a href="http://www.jdon.com/artichect/whyEJB.htm">为什么要使用EJB</a>?　</p>
		<p>
				<a href="http://www.jdon.com/trainning/net_j2ee.htm">关于对J2EE几点误解和错误认识的澄清</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/ejb/install.htm">JBoss 3.0的安装</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/ejb/jboss.htm">在JBoss中开发部署一个的简单EJB</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/ejb/web.htm">在JBoss中开发部署一个简单Web应用</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/ejb/application_xml.htm">J2EE的几个部署文件介绍</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/ejb/bmp_cmp.htm">实体Bean的BMP和CMP选择</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/ejb/jbuilder_jboss.htm">用JBuilder Ent 7开发一个简单J2EE 应用</a>
		</p>
		<p>
				<b>Jive源码分析</b>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/jive_tree.htm">Jive源码分析:Tree树形数据结构</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/jive/03002.htm" target="_blank">JdonJive论坛系统完整分析</a>
		</p>
		<p>
				<a href="http://www.jdon.com/jive.htm" target="_blank">Jive其它资料</a>
				<br />
		</p>
		<p>
				<b>Jsp/Javabean使用篇</b>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/application.htm">Jsp中的Application使用</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/session.htm">Jsp中的session使用</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/%CA%FD%BE%DD%BF%E2bean.htm">Jsp中数据bean的直接赋值</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/dbaddeditdel.htm">Jsp/bean Mysql数据库 新增 修改 删除的通用方法</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/java/%CB%E6%BB%FA%CA%FD.htm">Jsp/bean 随机整数 浮点数 字符串的产生</a>
		</p>
		<p>
				<b>XML技术篇</b>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/castor.htm">Castor在XML数据绑定技术中的应用</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/jsp%2Bxml%2Bxslt.htm">Jsp结合XML XSLT输出显示</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/jdom_jive.htm">Jive中Jdom使用剖析</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/xml.htm">XML配置文件的读取处理</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/webservices.htm">Web Services是什么</a>
		</p>
		<p>
				<b>服务器端图形处理篇</b>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/%B6%AF%CC%AC%CD%BC%CE%C4%BD%E1%BA%CF.htm">动态图文结合</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/imagedeal.htm">上传图片的缩放处理</a>
				<br />
		</p>
		<p>
				<b>理论篇</b>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/Jsp%BF%AA%B7%A2%D2%AA%B5%E3.htm">以开源精神看Php和Jsp/Java</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/designpattern1.htm">从脚本语言到Java</a>
		</p>
		<p>
				<b>基础技术篇</b>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/java/index.htm">WEB开发中常用Jsp/Bean相关(初级)技术总结</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/developanddeploy.htm">构造Jsp/javabean开发和发布环境的简单办法</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/2001-10-15.html">Tomcat中Java/jsp中文问题完全解决方案</a>
				<br />
				<br />
				<a href="http://www.jdon.com/idea/tomcatinstall.htm">三步安装Tomcat 4.0.1+JDK1.4+linux+Mysql</a>
				<a href="http://www.jdon.com/idea/qmial-vpopmail-mysql.html">
						<br />
						<br />
				</a>
				<a href="http://www.jdon.com/idea/tomcatinstallwin.htm">三步安装Tomcat 4.0.1+JDK1.4+Win2000+Mysql</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/tomcatwepapplication.htm">Tomcat 4.0+apache 1.3完美整合</a>
		</p>
		<p>
				<b>其他</b>
				<br />
				<br />
				<a href="http://www.jdon.com/idea/qmial-vpopmail-mysql.html">Qmail+Vpopmail+Mysql安装心得</a>
		</p>
		<p>
				<a href="http://www.jdon.com/idea/cgi.htm">解惑房之学习CGI<br /></a>
		</p>
<img src ="http://www.blogjava.net/liaojiyong/aggbug/55753.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liaojiyong/" target="_blank">liaojiyong</a> 2006-06-29 15:00 <a href="http://www.blogjava.net/liaojiyong/archive/2006/06/29/55753.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>第一天申请BLOG</title><link>http://www.blogjava.net/liaojiyong/archive/2006/05/19/47068.html</link><dc:creator>liaojiyong</dc:creator><author>liaojiyong</author><pubDate>Fri, 19 May 2006 07:31:00 GMT</pubDate><guid>http://www.blogjava.net/liaojiyong/archive/2006/05/19/47068.html</guid><wfw:comment>http://www.blogjava.net/liaojiyong/comments/47068.html</wfw:comment><comments>http://www.blogjava.net/liaojiyong/archive/2006/05/19/47068.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/liaojiyong/comments/commentRss/47068.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/liaojiyong/services/trackbacks/47068.html</trackback:ping><description><![CDATA[今天申请了自己的BLOG，以此留念。欢迎光临我的BLOG！<br /><img height="128" alt="20060211268943.gif" src="http://www.blogjava.net/images/blogjava_net/liaojiyong/女人/20060211268943.gif" width="128" border="0" /><br />2006年5月19日15:29:47<img src ="http://www.blogjava.net/liaojiyong/aggbug/47068.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/liaojiyong/" target="_blank">liaojiyong</a> 2006-05-19 15:31 <a href="http://www.blogjava.net/liaojiyong/archive/2006/05/19/47068.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>