<?xml version="1.0" encoding="GB2312"?>  
<rss version="2.0" 
xmlns:dc="http://purl.org/dc/elements/1.1/" 
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 
xmlns:admin="http://webns.net/mvcb/" 
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> 
  
<channel> 
<title><![CDATA[寒雪谷]]></title> 
<link>http://snowyvalley.bokee.com/index.html</link> 
<description><![CDATA[并非精通java,但却专注java!]]></description> 
<dc:language>zh-cn</dc:language> 
<dc:creator>lxz003@126.com</dc:creator> 
<dc:date>2006-09-13T16:15:47Z</dc:date> 
<admin:generatorAgent rdf:resource="http://blog.bokee.com.com" /> 

<item> 
<title><![CDATA[从windows下背叛]]></title> 
<link>http://snowyvalley.bokee.com/5650083.html</link> 
<description><![CDATA[
<div style="text-align: left;">
</div>]]></description> 
<guid isPermaLink="false">5650083@http://snowyvalley.bokee.com/</guid> 
<dc:subject>OpensSource</dc:subject> 
<dc:date>2006-09-13T16:15:46Z</dc:date> 
</item> 
<item> 
<title><![CDATA[猫生病了]]></title> 
<link>http://snowyvalley.bokee.com/4858696.html</link> 
<description><![CDATA[<p>猫生病了,老鼠大声朗诵诗集,并修剪盆花.<br />猫生病了,老鼠慢慢刷牙洗脸,并打扫房间.<br />猫生病了,老鼠倚在窗边欣赏夜色,并对流星许愿.<br />猫生病了,老鼠也病了,<br />它说:&amp;quot;我还是习惯那种时时紧张,处处小心,夜夜逃亡的生活.&amp;quot;<br />午夜,我听到老鼠在叹息,且不再读诗了</p><p>网上发现的一个人的签名，细细想来好有意思呀。</p>]]></description> 
<guid isPermaLink="false">4858696@http://snowyvalley.bokee.com/</guid> 
<dc:subject>e海拾贝</dc:subject> 
<dc:date>2006-04-11T18:05:10Z</dc:date> 
</item> 
<item> 
<title><![CDATA[一个震惊了整个德国的动人故事]]></title> 
<link>http://snowyvalley.bokee.com/4793390.html</link> 
<description><![CDATA[<p>下面这个故事是我很久以前的收藏，也不知道摘自哪里，今天翻开看时，还是很感动，每个人都要有一个你擅长的东西，这样你在这个社会中才是有价值的个体。</p><p>一个震惊了整个德国的动人故事 <br />　　前不久，德国一家电视台提出高薪，征集“十秒钟惊险镜头”活动。许多新闻工作者为此趋之若鹜，征集活动一时成为人们关注的焦点。在诸多参赛作品，一个名叫“卧倒”的镜头以绝对的优势夺得了冠军。 </p><p>　　拍摄这10秒钟镜头的作者是一位名不见经传刚刚踏入工作岗位的年轻人，对于这个作品，每个人都渴望一睹为快。 </p><p>　　几个星期以后，获奖作品在电视的强档栏目中播出。 </p><p>　　那天晚上，大部分人都坐在电视前边观看了这组镜头，最初是等待、好奇或者议论纷纷，10秒钟后，每一双眼睛里都是泪水。 </p><p>　　可以毫不夸张地说，德国在那10秒钟后足足肃静了10分钟。 </p><p>　　镜头是这样的： </p><p>　　在一个火车站，一个扳道工正走向自己的岗位，去为一队徐徐而来的火车扳动道岔。这时在铁轨的另一头，还有一列火车从相反的方向近车站。假如他不及时扳岔，两列火车必定相撞。 </p><p>　　这时，他无意中回过头一看，发现自己的儿子正在铁轨那一端玩耍，而那列开始进站的火车就行驶在这条铁轨上。是抢救儿子，还是扳道避免一场灾难──他可以选择的时间太少了。那一刻，他威严地朝儿子喊了声“卧倒！” </p><p>　　同时，冲过去扳动了道岔。 </p><p>　　一眨眼的工夫，这列火车进入了预定的轨道。 </p><p>　　那一边，火车也呼啸而过。 </p><p>　　车上的旅客丝毫不知道，他们的生命曾经千钧一发，他们也丝毫不知道，一个小生命卧倒在铁轨边上──火车在轰鸣着驶过，孩子丝毫未伤。那一幕刚好被一个从此经过的记者摄入镜头中。 </p><p>　　人们猜测，那个扳道工一定是一个非常优秀的人。 </p><p>　　后来，人们才渐渐知道，那个扳道工是一个普普通通的人。 </p><p>　　他唯一的优点就是忠于职守，没误工过一秒钟。 </p><p>　　而更让人意想不到的是，他的儿子是一个弱智儿童。 </p><p>　　他告诉记者，他曾一遍一遍地告诉儿子说：“你长大后能干的工作太少了，你必须有一样是出色的。” </p><p>　　儿子听不懂父亲的话，依然傻呼呼的，但在生命攸关的那一秒钟，他却“卧倒”了──这就是他在跟父亲玩打仗游戏时，唯一听懂、并做得最出色的动作。</p>]]></description> 
<guid isPermaLink="false">4793390@http://snowyvalley.bokee.com/</guid> 
<dc:subject>美文欣赏</dc:subject> 
<dc:date>2006-04-02T15:29:22Z</dc:date> 
</item> 
<item> 
<title><![CDATA[要回家过年了！]]></title> 
<link>http://snowyvalley.bokee.com/4273787.html</link> 
<description><![CDATA[要回家过年了，1.24号踏上回家的旅程（深圳－北京－长春），同时祝所有回家的朋友一路顺风，明年在维护我的Blog了！明年见！]]></description> 
<guid isPermaLink="false">4273787@http://snowyvalley.bokee.com/</guid> 
<dc:subject>人在旅途</dc:subject> 
<dc:date>2006-01-22T16:26:21Z</dc:date> 
</item> 
<item> 
<title><![CDATA[祝福大家06年好运]]></title> 
<link>http://snowyvalley.bokee.com/4093799.html</link> 
<description><![CDATA[<p>祝福大家06年好运，也祝福自己06年一切顺利。</p>]]></description> 
<guid isPermaLink="false">4093799@http://snowyvalley.bokee.com/</guid> 
<dc:subject>随笔</dc:subject> 
<dc:date>2006-01-04T08:58:17Z</dc:date> 
</item> 
<item> 
<title><![CDATA[祝所有来访者圣诞节快乐！]]></title> 
<link>http://snowyvalley.bokee.com/3989778.html</link> 
<description><![CDATA[祝所有来访者圣诞节快乐！明年更美好！]]></description> 
<guid isPermaLink="false">3989778@http://snowyvalley.bokee.com/</guid> 
<dc:subject>随笔</dc:subject> 
<dc:date>2005-12-25T08:31:21Z</dc:date> 
</item> 
<item> 
<title><![CDATA[一个关于奔跑的故事]]></title> 
<link>http://snowyvalley.bokee.com/3853009.html</link> 
<description><![CDATA[静谧的非洲大草原上，夕阳西下，这时，一头狮子在沉思，明天当太阳升起，我要奔跑，以追上跑得最慢的羚羊；此时，一只羚羊也在沉思，明天当太阳升起，我要奔跑，以逃脱跑得最快的狮子。故事结尾，无论你是狮子或是羚羊，当太阳升起，你要做的，就是奔跑。]]></description> 
<guid isPermaLink="false">3853009@http://snowyvalley.bokee.com/</guid> 
<dc:subject>美文欣赏</dc:subject> 
<dc:date>2005-12-12T09:40:24Z</dc:date> 
</item> 
<item> 
<title><![CDATA[手把手教你删除系统顽固文件【多图】]]></title> 
<link>http://snowyvalley.bokee.com/3852750.html</link> 
<description><![CDATA[<p>俗话说得好，请神容易送神难，出于某种需要安装了一些软件，当不再需要使用它们时，诸如非法删除、软件非法关闭、软件自身的BUG等方面的原因，常常会出现该软件不能卸载或卸载不完全等现象，有时候我们在删除某个文件或文件夹时，系统提示无法删除，这的确令人十分头疼，现在我们就来看看解决的办法。 </p><p><a href="http://tech.szonline.net/Channel/content/2005/200509/20050914/389871.html">http://tech.szonline.net/Channel/content/2005/200509/20050914/389871.html</a></p>]]></description> 
<guid isPermaLink="false">3852750@http://snowyvalley.bokee.com/</guid> 
<dc:subject>e海拾贝</dc:subject> 
<dc:date>2005-12-12T09:14:01Z</dc:date> 
</item> 
<item> 
<title><![CDATA[how to Use LookupDispatchAction]]></title> 
<link>http://snowyvalley.bokee.com/3707463.html</link> 
<description><![CDATA[<p>Use LookupDispatchAction for a JavaScript-free dispatch <br />Many forms can be put to multiple uses. The fields we need to create a record are usually the same fields we use to update a record. Likewise, the same page can usually used to identify a record to delete, copy, or update a record. </p><p>A DispatchAction (see Tip #2) is a convenient way to collect related operations like this into a single Struts Action class. A field in the request identifies the operation, and so all the developer has to do is get the right value into the field. The simplest way to do this is to label the buttons for the operation, and give each button the same name. But that ties the presentation label to the business operation and confounds localization. </p><p>As an alternative, most developers use a JavaScript attached to the button to update the dispatch field, which in practice works quite well. If JavaScript is not enabled, the submit fails gracefully, and in practice most applications do rely JavaScript for essential operations. </p><p>If JavaScript is not an option, another good alternative is the LookupDispatchAction [org.apache.struts.actions.LookupDispatchAction]. This object is a little more work to setup that the original DispatchAction, but lets you use this technique without using JavaScript as a crutch. </p><p>As with the DispatchAction, the first step is to indicate the name of the dispatch parameter in the action-mapping element. In this case the parameter will the name given to each of the buttons, rather than a hidden field. Let's just call our buttons &amp;quot;submit&amp;quot;, which is the default name the html:submit tag will use. </p><p><action <br="" path="/test" />type=&amp;quot;org.example.MyAction&amp;quot;<br />name=&amp;quot;MyForm&amp;quot;<br />scope=&amp;quot;request&amp;quot;<br />input=&amp;quot;/test.jsp&amp;quot;<br />parameter=&amp;quot;submit&amp;quot;/&amp;gt;</p><p>In our JSP, we can refer to the buttons in the usual way <form action="/test"><br /></form></p><p>Later, when the user selects a button, the form will pass the submit parameter, along with whatever message is Struts finds for &amp;quot;button.add&amp;quot; or &amp;quot;button.delete&amp;quot; in the resource bundle. In a localized application, this message could vary by the user's selected locale. </p><p>Using the conventional DispatchAction, this approach would problematic, since there would have to a Java method named for each message, and not all the messages might valid Java identifiers. This is where the magic of the LookupDispatchAction comes into play. </p><p>When you create your LookupDispatchAction subclass, along with the methods for the dispatch operations (see Tip #20) you must also implement a getKeyMethodMap method. This is a &amp;quot;hotspot&amp;quot; that the LookupDispatchAction will call. </p><p>Here's an example of the methods you might declare in your subclass:</p><p>protected Map getKeyMethodMap(ActionMapping mapping,<br />&amp;nbsp;&amp;nbsp;&amp;nbsp; ActionForm form,<br />&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpServletRequest request) {<br />&amp;nbsp; Map map = new HashMap();<br />&amp;nbsp; map.put(&amp;quot;button.add&amp;quot;, &amp;quot;add&amp;quot;);<br />&amp;nbsp; map.put(&amp;quot;button.delete&amp;quot;, &amp;quot;delete&amp;quot;);<br />&amp;nbsp; return map;<br />}</p><p>public ActionForward add(ActionMapping mapping,<br />&amp;nbsp;&amp;nbsp;&amp;nbsp; ActionForm form,<br />&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpServletRequest request,<br />&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpServletResponse response)<br />&amp;nbsp; throws IOException, ServletException {<br />&amp;nbsp; // do add<br />&amp;nbsp; return mapping.findForward(&amp;quot;success&amp;quot;);<br />}</p><p>public ActionForward delete(ActionMapping mapping,<br />&amp;nbsp;&amp;nbsp;&amp;nbsp; ActionForm form,<br />&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpServletRequest request,<br />&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpServletResponse response)<br />&amp;nbsp;&amp;nbsp;&amp;nbsp; throws IOException, ServletException {<br />&amp;nbsp; // do delete<br />&amp;nbsp; return mapping.findForward(&amp;quot;success&amp;quot;);<br />}</p><p>Internally, the base action will lookup the messages for button.add and button.delete, and match those against the submit parameter. When it finds a match, it will then use either &amp;quot;add&amp;quot; or &amp;quot;delete&amp;quot; to call the corresponding methods. </p><p>So while the LookupDispatchAction means adding an extra method to your Action, it lets you skip putting a JavaScript in your form.</p><p>Both the DispatchAction and LookupDispatchAction are an excellent way to streamline your Struts action classes, and group several related operations into a single umbrella action. </p><p>So, how many dispatch actions do you need? Can you use a dispatch action to collect everything into a single action?</p><p>Most often not. In practice, you can easily use one dispatch action for any forms that share a common validation. Sharing a dispatch action between different form beans, or form beans that are validated differently, can start to make things harder rather than simpler. But the use of a dispatch action can easily half or quarter the number of action classes in most Struts application. </p><p>HTH, Ted.</p><p>Credits. The LookupDispatchAction was originated by Erik Hatcher, one of Struts many volunteer contributors. The examples used in this tip relied heavily on Erik's documentation. (Yeah reuse! Yeah JavaDocs!)<br /></p>]]></description> 
<guid isPermaLink="false">3707463@http://snowyvalley.bokee.com/</guid> 
<dc:subject>OpensSource</dc:subject> 
<dc:date>2005-11-30T16:42:54Z</dc:date> 
</item> 
<item> 
<title><![CDATA[Hibernate in Action 翻译计划]]></title> 
<link>http://snowyvalley.bokee.com/3412911.html</link> 
<description><![CDATA[第一章 理解O/R持久性(30 Pages)<br />第二章 介绍和集成Hibernate(30 Pages)<br />05年11月份完成<br />第三章 映射持久的类(55 Pages)<br />05年12月份完成<br />第四章 使用持久对象(40 Pages)<br />06年1月<br />第五章 事务,并发和缓存(40 Pages)<br />06年2月<br />第六章 映射的高级内容(45 Pages)<br />第七章 高效的查找对象(53 Pages)<br />06年3月<br />第八章 建立Hibernate应用程序(55 Pages)<br />06年4月<br />第九章 Hibernate工具的使用(30 Pages)<br />附录A Sql基础(4 Pages)<br />附录B ORM实现策略(6 Pages)<br />附录C Hibernate 的实际应用(7 Pages)<br />参照和索引(略)<br />06年5月]]></description> 
<guid isPermaLink="false">3412911@http://snowyvalley.bokee.com/</guid> 
<dc:subject>译海拾贝</dc:subject> 
<dc:date>2005-11-04T12:54:44Z</dc:date> 
</item> 

</channel> 
</rss> 
