﻿<?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-DANCE WITH JAVA-随笔分类-web框架</title><link>http://www.blogjava.net/dreamstone/category/24600.html</link><description>开发出高质量的系统</description><language>zh-cn</language><lastBuildDate>Thu, 02 Aug 2007 17:21:43 GMT</lastBuildDate><pubDate>Thu, 02 Aug 2007 17:21:43 GMT</pubDate><ttl>60</ttl><item><title>webwork iterator 遍历双重list</title><link>http://www.blogjava.net/dreamstone/archive/2007/07/30/133431.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Mon, 30 Jul 2007 13:07:00 GMT</pubDate><guid>http://www.blogjava.net/dreamstone/archive/2007/07/30/133431.html</guid><wfw:comment>http://www.blogjava.net/dreamstone/comments/133431.html</wfw:comment><comments>http://www.blogjava.net/dreamstone/archive/2007/07/30/133431.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/dreamstone/comments/commentRss/133431.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dreamstone/services/trackbacks/133431.html</trackback:ping><description><![CDATA[经常会需要遍历双层的list，可以用脚本语言，但如果想用标签的话，<br>一直没有找到很好的做法，偶尔从朋友得到答案，下边是个例子：<br>构造一个双层列表：<br>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top><span style="COLOR: #000000">outList&nbsp;</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;ArrayList();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>inList</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;ArrayList();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>inList.add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Element(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">a</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>inList.add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Element(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">2</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">b</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>outList.add(inList);<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>inList</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">&nbsp;</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;ArrayList();<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>inList.add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Element(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">3</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">c</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>inList.add(</span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000">&nbsp;Element(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">4</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">d</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">));<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>outList.add(inList);<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>遍历：<br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">ww:iterator&nbsp;value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">outList</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">ww:iterator&nbsp;value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">top</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">ww:&nbsp;property&nbsp;value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">key</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/&gt;</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000">ww:&nbsp;property&nbsp;value</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">value</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">ww:iterator</span><span style="COLOR: #000000">&gt;</span><span style="COLOR: #000000"><br><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top></span><span style="COLOR: #000000">&lt;/</span><span style="COLOR: #000000">ww:iterator</span><span style="COLOR: #000000">&gt;</span></div>
<br><br>注意：关键点就一个top，意思是取栈顶的元素. 
<img src ="http://www.blogjava.net/dreamstone/aggbug/133431.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamstone/" target="_blank">dreamstone</a> 2007-07-30 21:07 <a href="http://www.blogjava.net/dreamstone/archive/2007/07/30/133431.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts-menu(list-menu样式和treemenu样式)</title><link>http://www.blogjava.net/dreamstone/archive/2007/05/27/120311.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Sun, 27 May 2007 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/dreamstone/archive/2007/05/27/120311.html</guid><wfw:comment>http://www.blogjava.net/dreamstone/comments/120311.html</wfw:comment><comments>http://www.blogjava.net/dreamstone/archive/2007/05/27/120311.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dreamstone/comments/commentRss/120311.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dreamstone/services/trackbacks/120311.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: struts-menu  list-menu  treemenu 树型菜单&nbsp;&nbsp;<a href='http://www.blogjava.net/dreamstone/archive/2007/05/27/120311.html'>阅读全文</a><img src ="http://www.blogjava.net/dreamstone/aggbug/120311.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamstone/" target="_blank">dreamstone</a> 2007-05-27 17:18 <a href="http://www.blogjava.net/dreamstone/archive/2007/05/27/120311.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts-menu(tablemenu样式)</title><link>http://www.blogjava.net/dreamstone/archive/2007/05/27/120309.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Sun, 27 May 2007 09:09:00 GMT</pubDate><guid>http://www.blogjava.net/dreamstone/archive/2007/05/27/120309.html</guid><wfw:comment>http://www.blogjava.net/dreamstone/comments/120309.html</wfw:comment><comments>http://www.blogjava.net/dreamstone/archive/2007/05/27/120309.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dreamstone/comments/commentRss/120309.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dreamstone/services/trackbacks/120309.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: struts-menu  tablemenu&nbsp;&nbsp;<a href='http://www.blogjava.net/dreamstone/archive/2007/05/27/120309.html'>阅读全文</a><img src ="http://www.blogjava.net/dreamstone/aggbug/120309.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamstone/" target="_blank">dreamstone</a> 2007-05-27 17:09 <a href="http://www.blogjava.net/dreamstone/archive/2007/05/27/120309.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>struts-menu使用教程</title><link>http://www.blogjava.net/dreamstone/archive/2007/05/27/120308.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Sun, 27 May 2007 08:59:00 GMT</pubDate><guid>http://www.blogjava.net/dreamstone/archive/2007/05/27/120308.html</guid><wfw:comment>http://www.blogjava.net/dreamstone/comments/120308.html</wfw:comment><comments>http://www.blogjava.net/dreamstone/archive/2007/05/27/120308.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/dreamstone/comments/commentRss/120308.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dreamstone/services/trackbacks/120308.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: struts-menu 入门&nbsp;&nbsp;<a href='http://www.blogjava.net/dreamstone/archive/2007/05/27/120308.html'>阅读全文</a><img src ="http://www.blogjava.net/dreamstone/aggbug/120308.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamstone/" target="_blank">dreamstone</a> 2007-05-27 16:59 <a href="http://www.blogjava.net/dreamstone/archive/2007/05/27/120308.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一种产生socket write error的原因(sitemesh 相关)</title><link>http://www.blogjava.net/dreamstone/archive/2007/05/18/118340.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Fri, 18 May 2007 06:04:00 GMT</pubDate><guid>http://www.blogjava.net/dreamstone/archive/2007/05/18/118340.html</guid><wfw:comment>http://www.blogjava.net/dreamstone/comments/118340.html</wfw:comment><comments>http://www.blogjava.net/dreamstone/archive/2007/05/18/118340.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dreamstone/comments/commentRss/118340.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dreamstone/services/trackbacks/118340.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: sitemesh  "socket write error" &ltww:head/&gt&nbsp;&nbsp;<a href='http://www.blogjava.net/dreamstone/archive/2007/05/18/118340.html'>阅读全文</a><img src ="http://www.blogjava.net/dreamstone/aggbug/118340.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamstone/" target="_blank">dreamstone</a> 2007-05-18 14:04 <a href="http://www.blogjava.net/dreamstone/archive/2007/05/18/118340.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>WebWork的强大的验证器</title><link>http://www.blogjava.net/dreamstone/archive/2007/02/08/98680.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Thu, 08 Feb 2007 02:35:00 GMT</pubDate><guid>http://www.blogjava.net/dreamstone/archive/2007/02/08/98680.html</guid><wfw:comment>http://www.blogjava.net/dreamstone/comments/98680.html</wfw:comment><comments>http://www.blogjava.net/dreamstone/archive/2007/02/08/98680.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/dreamstone/comments/commentRss/98680.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dreamstone/services/trackbacks/98680.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: webwork提供了强大的验证功能，下边一一介绍一些常用的功能的用法。一，首先webwork的validator是基于拦截器的，所以首先要配制一下拦截器，默认的拦截器，已经使用了validator，如果你想定义自己的拦截器组合，记得在你的拦截器的stack中把这句话加入&lt;interceptor-ref&nbsp;name="validation"&gt;&nbsp;&nbsp;&nbsp...&nbsp;&nbsp;<a href='http://www.blogjava.net/dreamstone/archive/2007/02/08/98680.html'>阅读全文</a><img src ="http://www.blogjava.net/dreamstone/aggbug/98680.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamstone/" target="_blank">dreamstone</a> 2007-02-08 10:35 <a href="http://www.blogjava.net/dreamstone/archive/2007/02/08/98680.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>解决webwork utf-8 乱码问题</title><link>http://www.blogjava.net/dreamstone/archive/2006/12/08/86403.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Fri, 08 Dec 2006 09:00:00 GMT</pubDate><guid>http://www.blogjava.net/dreamstone/archive/2006/12/08/86403.html</guid><wfw:comment>http://www.blogjava.net/dreamstone/comments/86403.html</wfw:comment><comments>http://www.blogjava.net/dreamstone/archive/2006/12/08/86403.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/dreamstone/comments/commentRss/86403.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dreamstone/services/trackbacks/86403.html</trackback:ping><description><![CDATA[<p>解决webwork utf-8 乱码问题<br>起因：使用webwork+spring开发，出现提交数据乱码。</p>
<p>1，首先尝试修改webwork配制文件webwork.properties<br>webwork.locale=zh_CN<br>webwork.i18n.encoding=UTF-8<br>没有解决问题<br>2，再次尝试加入filter<br>&nbsp;&lt;filter&gt;<br>&nbsp;&nbsp;&lt;filter-name&gt;SetCharacterEncoding&lt;/filter-name&gt;<br>&nbsp;&nbsp;&lt;filter-class&gt;org.springframework.web.filter.CharacterEncodingFilter&lt;/filter-class&gt;<br>&nbsp;&nbsp;&lt;init-param&gt;<br>&nbsp;&nbsp;&nbsp;&lt;param-name&gt;encoding&lt;/param-name&gt;<br>&nbsp;&nbsp;&nbsp;&lt;param-value&gt;UTF-8&lt;/param-value&gt;<br>&nbsp;&nbsp;&lt;/init-param&gt;<br>&nbsp;&lt;/filter&gt;<br>&nbsp;&lt;filter-mapping&gt;<br>&nbsp;&nbsp;&lt;filter-name&gt;SetCharacterEncoding&lt;/filter-name&gt;<br>&nbsp;&nbsp;&lt;url-pattern&gt;*.jsp&lt;/url-pattern&gt;<br>&nbsp;&lt;/filter-mapping&gt;<br>&nbsp;&lt;filter-mapping&gt;<br>&nbsp;&nbsp;&lt;filter-name&gt;SetCharacterEncoding&lt;/filter-name&gt;<br>&nbsp;&nbsp;&lt;url-pattern&gt;*.action&lt;/url-pattern&gt;<br>&nbsp;&lt;/filter-mapping&gt;<br>还是没有解决问题。<br>3，尝试更改提交方式 ,页面上加上&nbsp; method="post"<br>问题解决。但是新问题出现，url中出现的中文依然是乱码<br>更改tomcat server.xml文件，在&lt;Connector port="8080" &gt;中加入URIEncoding="utf-8"问题解决，<br>但有更好的一种解决方案。就是用useBodyEncodingForURI="true"代替URIEncoding="utf-8"<br>这样tomcat会根据页面的编码去处理</p>
<img src ="http://www.blogjava.net/dreamstone/aggbug/86403.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamstone/" target="_blank">dreamstone</a> 2006-12-08 17:00 <a href="http://www.blogjava.net/dreamstone/archive/2006/12/08/86403.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>优雅的解决web布局的问题 -- sitemesh的使用</title><link>http://www.blogjava.net/dreamstone/archive/2006/12/05/85624.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Tue, 05 Dec 2006 09:17:00 GMT</pubDate><guid>http://www.blogjava.net/dreamstone/archive/2006/12/05/85624.html</guid><wfw:comment>http://www.blogjava.net/dreamstone/comments/85624.html</wfw:comment><comments>http://www.blogjava.net/dreamstone/archive/2006/12/05/85624.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/dreamstone/comments/commentRss/85624.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dreamstone/services/trackbacks/85624.html</trackback:ping><description><![CDATA[<p>webwork的开发团队opensymphony提供了一种优雅的解决页面布局的方法sitemesh。<br>sitemesh应用Decorator模式，用filter截取request和response,把页面组件head,content,banner<br>结合为一个完整的视图。通常我们都是用include标签在每个jsp页面中来不断的包含各种header, <br>stylesheet, scripts and footer，现在，在sitemesh的帮助下，我们可以开心的删掉他们了</p>
<p>下边是创建一个简单实例的步骤：<br>1，新建一个标准的web工程叫sitemesh<br>在WebRoot下新建一个index.jsp,内容如下<br></p>
<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #008080">1</span> <img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top> <span style="COLOR: #000000">&lt;%</span> <span style="COLOR: #000000">@&nbsp;page&nbsp;contentType</span> <span style="COLOR: #000000">=</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">text/html;&nbsp;charset=utf-8</span> <span style="COLOR: #000000">"</span> <span style="COLOR: #000000">%&gt;</span> <span style="COLOR: #000000"><br></span><span style="COLOR: #008080">2</span> <span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top> </span><span style="COLOR: #0000ff">this</span> <span style="COLOR: #000000">&nbsp;is&nbsp;index.jsp.<br></span><span style="COLOR: #008080">3</span> <span style="COLOR: #000000"><img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align=top>it</span> <span style="COLOR: #000000">'</span> <span style="COLOR: #000000">s&nbsp;a&nbsp;simple&nbsp;page&nbsp;</span> </div>
<p>接着在webRoot下新建几个目录<br>style2<br>login<br>shared<br>在login下建立目录style3<br>然後把index.jsp分别复制到style2，login/style3,shared下<br>现在访问下边的链接:<br><a href="http://localhost:8080/sitemesh/index.jsp">http://localhost:8080/sitemesh/index.jsp</a><br><a href="http://localhost:8080/sitemesh/style2/index.jsp">http://localhost:8080/sitemesh/style2/index.jsp</a><br><a href="http://localhost:8080/sitemesh/login/style3/index.jsp">http://localhost:8080/sitemesh/login/style3/index.jsp</a><br><a href="http://localhost:8080/sitemesh/shared/index.jsp">http://localhost:8080/sitemesh/shared/index.jsp</a><br>得到的结果是一样的，那我们如何让这四个相同的index.jsp有不同的样式呢。除了每个里边加入include<br>还有个解决办法，就是sitemesh<br>2,在opensymphony.sourceforge.net下载sitemesh.jar ,sitemesh-decorator.tld,sitemesh-page.tld<br>三个文件。<br>复制sitemesh.jar到WEB-INF/lib下，<br>复制sitemesh-decorator.tld,sitemesh-page.tld到WEB-INF下<br>把下边这部分加入web.xml<br>------------------------------------------------------------------------------<br>&lt;filter&gt;<br>&nbsp; &lt;filter-name&gt;sitemesh&lt;/filter-name&gt;<br>&nbsp; &lt;filter-class&gt;com.opensymphony.module.sitemesh.filter.PageFilter&lt;/filter-class&gt;<br>&lt;/filter&gt;</p>
<p>&lt;filter-mapping&gt;<br>&nbsp; &lt;filter-name&gt;sitemesh&lt;/filter-name&gt;<br>&nbsp; &lt;url-pattern&gt;/*&lt;/url-pattern&gt;<br>&lt;/filter-mapping&gt;</p>
<p>&lt;taglib&gt;<br>&nbsp; &lt;taglib-uri&gt;sitemesh-decorator&lt;/taglib-uri&gt;<br>&nbsp; &lt;taglib-location&gt;/WEB-INF/sitemesh-decorator.tld&lt;/taglib-location&gt;<br>&lt;/taglib&gt;</p>
<p>&lt;taglib&gt;<br>&nbsp; &lt;taglib-uri&gt;sitemesh-page&lt;/taglib-uri&gt;<br>&nbsp; &lt;taglib-location&gt;/WEB-INF/sitemesh-page.tld&lt;/taglib-location&gt;<br>&lt;/taglib&gt;<br>--------------------------------------------------------------------------------<br>在WEB-INF下建立一个decorators.xml，内容如下<br>excludes代表不使用的部分<br>其它三个是匹配url，使用style<br>--------------------------------------------------------------------------<br>&lt;decorators defaultdir="/decorators"&gt;<br>&nbsp;&nbsp;&nbsp; &lt;excludes&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;pattern&gt;/shared/*&lt;/pattern&gt;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &lt;/excludes&gt;<br>&nbsp;&nbsp;&nbsp; &lt;decorator name="style1" page="style1.jsp"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;pattern&gt;/*&lt;/pattern&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/decorator&gt;<br>&nbsp;&nbsp;&nbsp; &lt;decorator name="style2" page="style2.jsp"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;pattern&gt;/style2/*&lt;/pattern&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/decorator&gt;<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; &lt;decorator name="style3" page="style3.jsp"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;pattern&gt;/*/style3/*&lt;/pattern&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/decorator&gt;<br>&lt;/decorators&gt;<br>--------------------------------------------------------------------------<br>在WebRoot下新建一个目录decorators<br>然後在下边建立三个jsp文件,内容如下<br>------------------------------------------------------------------<br>&lt;%@ page contentType="text/html; charset=utf-8"%&gt;<br>&lt;%@ taglib uri="sitemesh-decorator" prefix="decorator" %&gt;<br>&lt;html&gt;<br>&nbsp; &lt;head&gt;<br>&nbsp;&nbsp;&nbsp; &lt;title&gt;&lt;decorator:title default="装饰器页面..." /&gt;&lt;/title&gt;<br>&nbsp;&nbsp;&nbsp; &lt;decorator:head /&gt;<br>&nbsp; &lt;/head&gt;<br>&nbsp; &lt;body&gt;<br>&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;font color="red"&gt;this is style2's header&lt;/font&gt;&lt;/p&gt;<br>&nbsp;&nbsp;&nbsp; &lt;hr&gt;<br>&nbsp;&nbsp;&nbsp; &lt;decorator:body /&gt;<br>&nbsp;&nbsp;&nbsp; &lt;hr&gt;<br>&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;font color="red"&gt;this is style1's footer&lt;/font&gt;&lt;/p&gt;<br>&nbsp; &lt;/body&gt;<br>&lt;/html&gt;<br>------------------------------------------------------------------</p>
<p>&lt;%@ page contentType="text/html; charset=utf-8"%&gt;<br>&lt;%@ taglib uri="sitemesh-decorator" prefix="decorator" %&gt;</p>
<p>&lt;html&gt;<br>&nbsp; &lt;head&gt;<br>&nbsp;&nbsp;&nbsp; &lt;title&gt;&lt;decorator:title default="装饰器页面..." /&gt;&lt;/title&gt;<br>&nbsp;&nbsp;&nbsp; &lt;decorator:head /&gt;<br>&nbsp; &lt;/head&gt;<br>&nbsp; &lt;body&gt;<br>&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;font color="green"&gt;this is style2's header&lt;/font&gt;&lt;/p&gt;<br>&nbsp;&nbsp;&nbsp; &lt;hr&gt;<br>&nbsp;&nbsp;&nbsp; &lt;decorator:body /&gt;<br>&nbsp;&nbsp;&nbsp; &lt;hr&gt;<br>&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;font color="green"&gt;this is style2's footer&lt;/font&gt;&lt;/p&gt;<br>&nbsp; &lt;/body&gt;<br>&lt;/html&gt;</p>
<p>------------------------------------------------------------------<br>&lt;%@ page contentType="text/html; charset=utf-8"%&gt;<br>&lt;%@ taglib uri="sitemesh-decorator" prefix="decorator" %&gt;</p>
<p>&lt;html&gt;<br>&nbsp; &lt;head&gt;<br>&nbsp;&nbsp;&nbsp; &lt;title&gt;&lt;decorator:title default="装饰器页面..." /&gt;&lt;/title&gt;<br>&nbsp;&nbsp;&nbsp; &lt;decorator:head /&gt;<br>&nbsp; &lt;/head&gt;<br>&nbsp; &lt;body&gt;<br>&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;font color="blue"&gt;this is style3's header&lt;/font&gt;&lt;/p&gt;<br>&nbsp;&nbsp;&nbsp; &lt;hr&gt;<br>&nbsp;&nbsp;&nbsp; &lt;decorator:body /&gt;<br>&nbsp;&nbsp;&nbsp; &lt;hr&gt;<br>&nbsp;&nbsp;&nbsp; &lt;p&gt;&lt;font color="blue"&gt;this is style3's footer&lt;/font&gt;&lt;/p&gt;<br>&nbsp; &lt;/body&gt;<br>&lt;/html&gt;<br>------------------------------------------------------------------<br>再次访问<br><a href="http://localhost:8080/sitemesh/index.jsp">http://localhost:8080/sitemesh/index.jsp</a><br><a href="http://localhost:8080/sitemesh/style2/index.jsp">http://localhost:8080/sitemesh/style2/index.jsp</a><br><a href="http://localhost:8080/sitemesh/login/style3/index.jsp">http://localhost:8080/sitemesh/login/style3/index.jsp</a><br><a href="http://localhost:8080/sitemesh/shared/index.jsp">http://localhost:8080/sitemesh/shared/index.jsp</a><br>看到变化了吧。这只是个简单的展示，仔细思考一下你的需求，你能作出更好的布局方式。<br>sitemesh真不错。重要是学习简单20分种就搞定了<br></p>
<span id=Codehighlighter1_210_504_Open_Text></span>
<img src ="http://www.blogjava.net/dreamstone/aggbug/85624.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamstone/" target="_blank">dreamstone</a> 2006-12-05 17:17 <a href="http://www.blogjava.net/dreamstone/archive/2006/12/05/85624.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[Struts 2.0]struts2的struts.properties配置文件详解</title><link>http://www.blogjava.net/dreamstone/archive/2006/11/29/84410.html</link><dc:creator>dreamstone</dc:creator><author>dreamstone</author><pubDate>Wed, 29 Nov 2006 11:12:00 GMT</pubDate><guid>http://www.blogjava.net/dreamstone/archive/2006/11/29/84410.html</guid><wfw:comment>http://www.blogjava.net/dreamstone/comments/84410.html</wfw:comment><comments>http://www.blogjava.net/dreamstone/archive/2006/11/29/84410.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/dreamstone/comments/commentRss/84410.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/dreamstone/services/trackbacks/84410.html</trackback:ping><description><![CDATA[<p>转载自：<a href="http://blogger.org.cn/blog/more.asp?name=lhwork&amp;id=20049">http://blogger.org.cn/blog/more.asp?name=lhwork&amp;id=20049</a><br>struts.action.extension<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The URL extension to use to determine if the request is meant for a Struts action&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 用URL扩展名来确定是否这个请求是被用作Struts action，其实也就是设置 action的后缀，例如login.do的'do'字。</p>
<p>struts.configuration<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The org.apache.struts2.config.Configuration implementation class<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.apache.struts2.config.Configuration接口名</p>
<p>struts.configuration.files<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A list of configuration files automatically loaded by Struts&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struts自动加载的一个配置文件列表</p>
<p>struts.configuration.xml.reload<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whether to reload the XML configuration or not<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是否加载xml配置(true,false)</p>
<p>struts.continuations.package<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The package containing actions that use Rife continuations<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 含有actions的完整连续的package名称</p>
<p>struts.custom.i18n.resources<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Location of additional localization properties files to load&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;加载附加的国际化属性文件（不包含.properties后缀）</p>
<p>struts.custom.properties<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Location of additional configuration properties files to load<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 加载附加的配置文件的位置</p>
<p><br>struts.devMode<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whether Struts is in development mode or not<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是否为struts开发模式</p>
<p>struts.dispatcher.parametersWorkaround<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whether to use a Servlet request parameter workaround necessary for some versions of WebLogic<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （某些版本的weblogic专用）是否使用一个servlet请求参数工作区（PARAMETERSWORKAROUND）</p>
<p>struts.enable.DynamicMethodInvocation<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Allows one to disable dynamic method invocation from the URL<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;允许动态方法调用</p>
<p>struts.freemarker.manager.classname<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The org.apache.struts2.views.freemarker.FreemarkerManager implementation class&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.apache.struts2.views.freemarker.FreemarkerManager接口名</p>
<p>struts.i18n.encoding<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The encoding to use for localization messages<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 国际化信息内码</p>
<p>struts.i18n.reload<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whether the localization messages should automatically be reloaded<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;是否国际化信息自动加载 </p>
<p>struts.locale<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The default locale for the Struts application<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;默认的国际化地区信息</p>
<p>struts.mapper.class<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The org.apache.struts2.dispatcher.mapper.ActionMapper implementation class<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;org.apache.struts2.dispatcher.mapper.ActionMapper接口</p>
<p>struts.multipart.maxSize<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The maximize size of a multipart request (file upload)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; multipart请求信息的最大尺寸（文件上传用） </p>
<p>struts.multipart.parser<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The org.apache.struts2.dispatcher.multipart.MultiPartRequest parser implementation for a multipart request (file upload)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 专为multipart请求信息使用的org.apache.struts2.dispatcher.multipart.MultiPartRequest解析器接口（文件上传用）</p>
<p><br>struts.multipart.saveDir<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The directory to use for storing uploaded files&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置存储上传文件的目录夹</p>
<p>struts.objectFactory<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The com.opensymphony.xwork2.ObjectFactory implementation class<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;com.opensymphony.xwork2.ObjectFactory接口（spring）</p>
<p>struts.objectFactory.spring.autoWire<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whether Spring should autoWire or not<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是否自动绑定Spring</p>
<p>struts.objectFactory.spring.useClassCache<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whether Spring should use its class cache or not<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是否spring应该使用自身的cache </p>
<p>struts.objectTypeDeterminer<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The com.opensymphony.xwork2.util.ObjectTypeDeterminer implementation class<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;com.opensymphony.xwork2.util.ObjectTypeDeterminer接口</p>
<p>struts.serve.static.browserCache<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; If static content served by the Struts filter should set browser caching header properties or not&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是否struts过滤器中提供的静态内容应该被浏览器缓存在头部属性中</p>
<p>struts.serve.static<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whether the Struts filter should serve static content or not&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是否struts过滤器应该提供静态内容</p>
<p>struts.tag.altSyntax<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whether to use the alterative syntax for the tags or not&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是否可以用替代的语法替代tags</p>
<p>struts.ui.templateDir<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The directory containing UI templates<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UI templates的目录夹 </p>
<p>struts.ui.theme<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The default UI template theme<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 默认的UI template主题</p>
<p>struts.url.http.port<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The HTTP port used by Struts URLs<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置http端口</p>
<p>struts.url.https.port<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The HTTPS port used by Struts URLs&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 设置https端口</p>
<p>struts.url.includeParams<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The default includeParams method to generate Struts URLs&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在url中产生&nbsp;默认的includeParams<br></p>
<p>struts.velocity.configfile<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The Velocity configuration file path<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; velocity配置文件路径</p>
<p>struts.velocity.contexts<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List of Velocity context names<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; velocity的context列表</p>
<p><br>struts.velocity.manager.classname<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.apache.struts2.views.velocity.VelocityManager implementation class<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.apache.struts2.views.velocity.VelocityManager接口名</p>
<p>struts.velocity.toolboxlocation<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The location of the Velocity toolbox<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;velocity工具盒的位置 <br>struts.xslt.nocache<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Whether or not XSLT templates should not be cached<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 是否XSLT模版应该被缓存&nbsp; <br></p>
<img src ="http://www.blogjava.net/dreamstone/aggbug/84410.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/dreamstone/" target="_blank">dreamstone</a> 2006-11-29 19:12 <a href="http://www.blogjava.net/dreamstone/archive/2006/11/29/84410.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>