ï»??xml version="1.0" encoding="utf-8" standalone="yes"?>精品产品国产在线不卡,精品欧美乱码久久久久久,欧美精品羞羞答答http://www.aygfsteel.com/rory/category/8718.htmlHappy study,Happy work,Happy lifezh-cnWed, 28 Feb 2007 07:42:26 GMTWed, 28 Feb 2007 07:42:26 GMT60xstream对xmlnode的属æ€?attribute)è§£æžçš„问题[æ›´æ–°]ã€?/title><link>http://www.aygfsteel.com/rory/archive/2007/01/17/howto-dealwith-xstream-xmlnode-attribute.html</link><dc:creator>莫多</dc:creator><author>莫多</author><pubDate>Wed, 17 Jan 2007 10:24:00 GMT</pubDate><guid>http://www.aygfsteel.com/rory/archive/2007/01/17/howto-dealwith-xstream-xmlnode-attribute.html</guid><wfw:comment>http://www.aygfsteel.com/rory/comments/94475.html</wfw:comment><comments>http://www.aygfsteel.com/rory/archive/2007/01/17/howto-dealwith-xstream-xmlnode-attribute.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rory/comments/commentRss/94475.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rory/services/trackbacks/94475.html</trackback:ping><description><![CDATA[xstream是个好东è¥Ñ€‚对于酾|®æ–‡ä»¶çš„è¯Õd–很方ä¾Ñ€‚在mybog中我ž®Þq”¨åˆîCº†ã€‚丘q‡ä»Šå¤©æ‰“½Ž—用yupooçš„apiæ¥åšç›¸å†Œã€‚å‘现xstream对于xmlnodeçš„attributeè§£æžæ”¯æŒä¸æ˜¯é‚£ä¹ˆçš„好ã€?br />对于˜q™ç§èŠ‚ç‚¹æ ¼å¼çš„éžå¸¸çš„½Ž€å?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">result</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">page</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">page</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">pages</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">pages</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">perpage</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);">100</span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">perpage</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">total</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);">19</span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">total</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">photos</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />        </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">photo</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />            </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">id</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);">ff8080810fc8ac78010fd3f158d40a52</span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">id</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />            </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">owner</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);">ff8080810f1a387b010f1a83d6530dfc</span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">owner</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />            </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">title</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);">Gmail-2</span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">title</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />            </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">host</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);">4</span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">host</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />            </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">dir</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);">20061230</span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">dir</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />            </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">filename</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);">231905_1463411198</span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">filename</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />        </span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">photo</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">photos</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">result</span><span style="color: rgb(0, 0, 255);">></span></div><br />½Ž€å•çš„alias一下就å¯ä»¥è¯Õdˆ°å€égº†<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 0);">File file </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> File(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">src/test/java/com/jdkcn/test/result.xml</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br />BufferedReader reader </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> BufferedReader(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> InputStreamReader(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> FileInputStream(file), </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">UTF-8</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">));<br />XStream stream </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> XStream();<br />stream.alias(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">result</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, YupooResult.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />stream.alias(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">photo</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,YupooPhoto.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />YupooResult result </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> (YupooResult)stream.fromXML(reader);</span></div>坿˜¯Yupooçš„api˜q”回的xmlrpc的结果是˜q™æ ·çš?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">result </span><span style="color: rgb(255, 0, 0);">page</span><span style="color: rgb(0, 0, 255);">="1"</span><span style="color: rgb(255, 0, 0);"> pages</span><span style="color: rgb(0, 0, 255);">="1"</span><span style="color: rgb(255, 0, 0);"> perpage</span><span style="color: rgb(0, 0, 255);">="100"</span><span style="color: rgb(255, 0, 0);"> total</span><span style="color: rgb(0, 0, 255);">="19"</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">photos</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br />        </span><span style="color: rgb(0, 0, 255);"><</span><span style="color: rgb(128, 0, 0);">photo </span><span style="color: rgb(255, 0, 0);">id</span><span style="color: rgb(0, 0, 255);">="ff8080810fc8ac78010fd3f158d40a52"</span><span style="color: rgb(255, 0, 0);"><br />            owner</span><span style="color: rgb(0, 0, 255);">="ff8080810f1a387b010f1a83d6530dfc"</span><span style="color: rgb(255, 0, 0);"> title</span><span style="color: rgb(0, 0, 255);">="Gmail-2"</span><span style="color: rgb(255, 0, 0);"> host</span><span style="color: rgb(0, 0, 255);">="4"</span><span style="color: rgb(255, 0, 0);"><br />            dir</span><span style="color: rgb(0, 0, 255);">="20061230"</span><span style="color: rgb(255, 0, 0);"> filename</span><span style="color: rgb(0, 0, 255);">="231905_1463411198"</span><span style="color: rgb(255, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">/></span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">photos</span><span style="color: rgb(0, 0, 255);">></span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);"></</span><span style="color: rgb(128, 0, 0);">result</span><span style="color: rgb(0, 0, 255);">></span></div>˜q™æ ·ž®±loadä¸åˆ°å€égº†ã€‚没法去mailisté‡Œé¢æ‰„¡­”案,果然有ähé—®ã€?br /><pre><font color="#ff9900">Hello, I am not sure about the subject but here is what I needed help for: XML: <field name="value">I am a Field.</field> I have already tried several structures and nothing seem to work. Is this possible for XStream? :) How is the Java class form to support this? Thanks!</font><br /><br /><br /><br /><br />有äh回答是看Converter的文档。果然找到答案了ã€?br />自己写一个converterž®±å¯ä»¥äº†ã€?br />䏋颿˜¯æˆ‘çš„converter<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 255);">package</span><span style="color: rgb(0, 0, 0);"> com.jdkcn.xstream;<br /><br /></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);"> java.util.ArrayList;<br /></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);"> java.util.List;<br /><br /></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);"> com.jdkcn.yupoo.YupooPhoto;<br /></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);"> com.jdkcn.yupoo.YupooResult;<br /></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);"> com.thoughtworks.xstream.converters.Converter;<br /></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);"> com.thoughtworks.xstream.converters.MarshallingContext;<br /></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);"> com.thoughtworks.xstream.converters.UnmarshallingContext;<br /></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);"> com.thoughtworks.xstream.io.HierarchicalStreamReader;<br /></span><span style="color: rgb(0, 0, 255);">import</span><span style="color: rgb(0, 0, 0);"> com.thoughtworks.xstream.io.HierarchicalStreamWriter;<br /><br /></span><span style="color: rgb(0, 128, 0);">/**</span><span style="color: rgb(0, 128, 0);"><br /> * </span><span style="color: rgb(128, 128, 128);">@author</span><span style="color: rgb(0, 128, 0);"> <a href="mailto:rory.cn@gmail.com">somebody</a><br /> * </span><span style="color: rgb(128, 128, 128);">@since</span><span style="color: rgb(0, 128, 0);"> Jan 16, 2007 6:12:35 PM<br /> * </span><span style="color: rgb(128, 128, 128);">@version</span><span style="color: rgb(0, 128, 0);"> $Id YupooResultConverter.java$<br /> </span><span style="color: rgb(0, 128, 0);">*/</span><span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);"> YupooResultConverter </span><span style="color: rgb(0, 0, 255);">implements</span><span style="color: rgb(0, 0, 0);"> Converter {<br />    </span><span style="color: rgb(0, 128, 0);">/*</span><span style="color: rgb(0, 128, 0);"> (non-Javadoc)<br />     * @see com.thoughtworks.xstream.converters.Converter#marshal(java.lang.Object, com.thoughtworks.xstream.io.HierarchicalStreamWriter, com.thoughtworks.xstream.converters.MarshallingContext)<br />     </span><span style="color: rgb(0, 128, 0);">*/</span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">void</span><span style="color: rgb(0, 0, 0);"> marshal(Object obj, HierarchicalStreamWriter writer, MarshallingContext context) {<br />        </span><span style="color: rgb(0, 128, 0);">//</span><span style="color: rgb(0, 128, 0);"> FIXME unfinish.</span><span style="color: rgb(0, 128, 0);"><br /></span><span style="color: rgb(0, 0, 0);">    }<br /><br />    </span><span style="color: rgb(0, 128, 0);">/*</span><span style="color: rgb(0, 128, 0);"> (non-Javadoc)<br />     * @see com.thoughtworks.xstream.converters.Converter#unmarshal(com.thoughtworks.xstream.io.HierarchicalStreamReader, com.thoughtworks.xstream.converters.UnmarshallingContext)<br />     </span><span style="color: rgb(0, 128, 0);">*/</span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {<br />        YupooResult result </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> YupooResult();<br />        result.setPage(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Integer(reader.getAttribute(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">page</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">)));<br />        result.setPages(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Integer(reader.getAttribute(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">pages</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">)));<br />        result.setPerpage(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Integer(reader.getAttribute(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">perpage</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">)));<br />        result.setTotal(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> Integer(reader.getAttribute(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">total</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">)));<br />        reader.moveDown();<br />        List</span><span style="color: rgb(0, 0, 0);"><</span><span style="color: rgb(0, 0, 0);">YupooPhoto</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);"> photos </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> ArrayList</span><span style="color: rgb(0, 0, 0);"><</span><span style="color: rgb(0, 0, 0);">YupooPhoto</span><span style="color: rgb(0, 0, 0);">></span><span style="color: rgb(0, 0, 0);">();<br />        </span><span style="color: rgb(0, 0, 255);">while</span><span style="color: rgb(0, 0, 0);">(reader.hasMoreChildren()) {<br />            reader.moveDown();<br />            YupooPhoto photo </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> YupooPhoto();<br />            photo.setDir(reader.getAttribute(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">dir</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">));<br />            photo.setFilename(reader.getAttribute(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">filename</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">));<br />            photo.setHost(reader.getAttribute(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">host</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">));<br />            photo.setId(reader.getAttribute(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">id</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">));<br />            photo.setOwner(reader.getAttribute(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">owner</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">));<br />            photo.setTitle(reader.getAttribute(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">title</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">));<br />            photos.add(photo);<br />            reader.moveUp();<br />        }<br />        result.setPhotos(photos);<br />        </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> result;<br />    }<br />    </span><span style="color: rgb(0, 128, 0);">/*</span><span style="color: rgb(0, 128, 0);"> (non-Javadoc)<br />     * @see com.thoughtworks.xstream.converters.ConverterMatcher#canConvert(java.lang.Class)<br />     </span><span style="color: rgb(0, 128, 0);">*/</span><span style="color: rgb(0, 0, 0);"><br />    </span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">boolean</span><span style="color: rgb(0, 0, 0);"> canConvert(Class clazz) {<br />        </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> clazz.equals(YupooResult.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />    }<br />}<br /></span></div><br />ç„¶åŽè°ƒç”¨çš„地方修改一下就ok了ã€?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 0);">XStream stream </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> XStream();<br />stream.registerConverter(</span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> YupooResultConverter());<br />stream.alias(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">result</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, YupooResult.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);</span></div><br /><br /><br />å‚è€?<br /><a >http://xstream.codehaus.org/converter-tutorial.html</a></pre><br />2007òq?æœ?8日更新ã€?br />˜q™é‡Œæ„Ÿè°¢¾|‘å‹ <a id="AjaxHolder_Comments_CommentList_ctl00_NameLink" target="_blank">Ivan ChenåQˆè¥¿æ»¨ï¼‰</a> 的æ½Cºã€‚åŽŸæ¥æ–°ç‰ˆçš„xstreamå¯ä»¥½Ž€å•的解决了。在1.2.1çš„docé‡Œé¢æ‰‘Öˆ°äº†è¿™ä¸ªä¸¤ä¸ªæ–¹æ³•ã€?br /><h3>useAttributeFor</h3><pre>public void <b>useAttributeFor</b>(java.lang.String fieldName, java.lang.Class type)</pre><dl><dd>Use an XML attribute for a field or a specific type. <p></p></dd><dd><dl><dt><b>Parameters:</b></dt><dd><code>fieldName</code> - the name of the field </dd><dd><code>type</code> - the Class of the type to be rendered as XML attribute </dd><dt><b>Throws:</b></dt><dd><code><a title="class in com.thoughtworks.xstream" >XStream.InitializationException</a></code> - if no <a title="class in com.thoughtworks.xstream.mapper" ><code>AttributeMapper</code></a> is available </dd><dt><b>Since:</b></dt><dd>1.2</dd></dl></dd></dl><hr /><a name="useAttributeFor(java.lang.Class)"><!-- --></a><h3>useAttributeFor</h3><pre>public void <b>useAttributeFor</b>(java.lang.Class type)</pre><dl><dd>Use an XML attribute for an arbotrary type. <p></p></dd><dd><dl><dt><b>Parameters:</b></dt><dd><code>type</code> - the Class of the type to be rendered as XML attribute </dd><dt><b>Throws:</b></dt><dd><code><a title="class in com.thoughtworks.xstream" >XStream.InitializationException</a></code> - if no <a title="class in com.thoughtworks.xstream.mapper" ><code>AttributeMapper</code></a> is available </dd><dt><b>Since:</b></dt><dd>1.2</dd></dl></dd></dl><br />˜q™ä¸¤ä¸ªæ–¹æ³•都是从1.2开始支æŒçš„ã€?br />也ä¸ç”¨è‡ªå·±å†™converter了。这样就å¯ä»¥äº?br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"><span style="color: rgb(0, 0, 0);">        stream.alias(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">result</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, YupooResult.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />        stream.useAttributeFor(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">page</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, Integer.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />        stream.useAttributeFor(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">pages</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, Integer.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />        stream.useAttributeFor(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">perpage</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, Integer.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />        stream.useAttributeFor(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">total</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, Integer.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />        stream.alias(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">photo</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, YupooPhoto.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />        stream.useAttributeFor(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">id</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, String.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />        stream.useAttributeFor(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">owner</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, String.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />        stream.useAttributeFor(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">title</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, String.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />        stream.useAttributeFor(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">host</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, String.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />        stream.useAttributeFor(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">dir</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, String.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);<br />        stream.useAttributeFor(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">filename</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">, String.</span><span style="color: rgb(0, 0, 255);">class</span><span style="color: rgb(0, 0, 0);">);</span></div><a target="_blank"><br /><img alt="创造共用åè®?¾|²å,éžå•†ä¸?ä¿æŒä¸€è‡? src="http://leaf.jdk.cn/rights.gif" border="0" height="31" width="88" /></a>   除ç»ç‰¹åˆ«æ³¨æ˜Žå¤?本文章版æƒå½’<strong><a class="" ><font color="#6b6b52">莫多泡æˆö</font></a></strong>所æœ? <br /><font color="#ff0000">¾|²å,éžå•†ä¸šç”¨é€?ä¿æŒä¸€è‡?</font>   <a title="莫多泡æˆö" target="_blank">somebody(莫多)</a><img src ="http://www.aygfsteel.com/rory/aggbug/94475.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rory/" target="_blank">莫多</a> 2007-01-17 18:24 <a href="http://www.aygfsteel.com/rory/archive/2007/01/17/howto-dealwith-xstream-xmlnode-attribute.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>åˆæ˜¯ä¹Þq é—®é¢˜-Filter é…置也很é‡è¦http://www.aygfsteel.com/rory/archive/2006/12/27/character_encoding_problem_filtermapping_position.html莫多莫多Wed, 27 Dec 2006 02:37:00 GMThttp://www.aygfsteel.com/rory/archive/2006/12/27/character_encoding_problem_filtermapping_position.htmlhttp://www.aygfsteel.com/rory/comments/90236.htmlhttp://www.aygfsteel.com/rory/archive/2006/12/27/character_encoding_problem_filtermapping_position.html#Feedback3http://www.aygfsteel.com/rory/comments/commentRss/90236.htmlhttp://www.aygfsteel.com/rory/services/trackbacks/90236.html  上周更新了一下myblog,æ·ÕdŠ äº†ä¸€ä¸ªFilteråQŒåš¾lŸè®¡è®‰K—®ç”¨ã€‚坿˜¯åŽæ¥å‘现出çŽîCØ•ç é—®é¢˜äº†ã€‚找了很久都没有扑ֈ°é—®é¢˜ã€‚debug的时候看åˆ?CharacterEncodingFilter¼‹®å®žæ˜¯æ‰§è¡Œäº†ã€‚丘q‡å°±æ˜¯æ²¡æœ‰æ•ˆæžœã€‚æ‰§è¡Œä¹‹å‰æ˜¯ISO-8859-1¾~–ç çš„,执行之厘q˜æ˜¯åQ?CharacterEncodingFilterž®±æ²¡æœ‰è“våˆîC½œç”¨ã€‚åŽæ¥ç»ˆäºŽæ‰¾åˆ°é—®é¢˜çš„åŽŸå› äº†ã€‚åŽŸæ¥æ˜¯Filteré…置先厙åºåºçš„原因ã€?br />       刚开始的é…置是这æ ïLš„:

     < filter-mapping >
        
< filter-name > requestCounterFilter </ filter-name >
        
< url-pattern > *.jhtml </ url-pattern >
    
</ filter-mapping >
  
    
< filter-mapping >
        
< filter-name > encodingFilter </ filter-name >
        
< url-pattern > /dwr/* </ url-pattern >
    
</ filter-mapping >
    
    
< filter-mapping >
        
< filter-name > encodingFilter </ filter-name >
        
< url-pattern > *.jhtml </ url-pattern >
    
</ filter-mapping >
    
    
< filter-mapping >
        
< filter-name > encodingFilter </ filter-name >
        
< url-pattern > *.jsp </ url-pattern >
    
</ filter-mapping >

  先绘q‡é‚£ä¸ªç»Ÿè®¡çš„filterç„¶åŽå†ç»˜q‡ç¼–ç çš„filter。这æ ïLš„è¯ç¼–ç çš„filterž®×ƒ¸èµ·ä½œç”¨äº†ã€‚åªè¦å§¾~–ç çš„filter攑ֈ°æœ€å‰é¢ž®±æ²¡æœ‰é—®é¢˜äº†ã€‚改æˆè¿™æ ·å°±å¥½ã€?br />

     < filter-mapping >
        
< filter-name > encodingFilter </ filter-name >
        
< url-pattern > /dwr/* </ url-pattern >
    
</ filter-mapping >
    
    
< filter-mapping >
        
< filter-name > encodingFilter </ filter-name >
        
< url-pattern > *.jhtml </ url-pattern >
    
</ filter-mapping >
    
    
< filter-mapping >
        
< filter-name > encodingFilter </ filter-name >
        
< url-pattern > *.jsp </ url-pattern >
    
</ filter-mapping >
    
    
< filter-mapping >
        
< filter-name > requestCounterFilter </ filter-name >
        
< url-pattern > *.jhtml </ url-pattern >
    
</ filter-mapping >


以åŽå¤§å®¶ä¸€å®šè¦æ³¨æ„啊。顺åºé—®é¢˜ä¹Ÿæ˜¯å¾ˆé‡è¦çš„ã€?br />创造共用åè®?¾|²å,éžå•†ä¸?ä¿æŒä¸€è‡? src=   除ç»ç‰¹åˆ«æ³¨æ˜Žå¤?本文章版æƒå½’莫多泡æˆö所æœ?
¾|²å,éžå•†ä¸šç”¨é€?ä¿æŒä¸€è‡?   somebody(莫多)



莫多 2006-12-27 10:37 å‘表评论
]]>
tuckey urlrewrite 3.x的问é¢?/title><link>http://www.aygfsteel.com/rory/archive/2006/12/12/tuckey-urlrewrite_3-querystring-problem.html</link><dc:creator>莫多</dc:creator><author>莫多</author><pubDate>Tue, 12 Dec 2006 02:33:00 GMT</pubDate><guid>http://www.aygfsteel.com/rory/archive/2006/12/12/tuckey-urlrewrite_3-querystring-problem.html</guid><wfw:comment>http://www.aygfsteel.com/rory/comments/87151.html</wfw:comment><comments>http://www.aygfsteel.com/rory/archive/2006/12/12/tuckey-urlrewrite_3-querystring-problem.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rory/comments/commentRss/87151.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rory/services/trackbacks/87151.html</trackback:ping><description><![CDATA[昨天晚上é…ç½®myblogçš„rewrite。å‘çŽîC¸€ä¸ªå¥‡æ€ªçš„问题。由于现在ä‹É用的˜q™ä¸ªpjblogåQŒäؓ了让æœçƒ¦å¼•擎收录的连接有效。我æƒÏxŠŠåŽŸæ¥çš„asp˜qžæŽ¥rewrite到我的新½E‹åºä¸Šé¢ã€‚所以有˜q™æ ·ä¸€æ¡è§„则ã€?br /><br /><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)"><span style="COLOR: rgb(0,0,0)">    </span><span style="COLOR: rgb(0,0,255)"><</span><span style="COLOR: rgb(128,0,0)">rule</span><span style="COLOR: rgb(0,0,255)">></span><span style="COLOR: rgb(0,0,0)"><br />        </span><span style="COLOR: rgb(0,0,255)"><</span><span style="COLOR: rgb(128,0,0)">from</span><span style="COLOR: rgb(0,0,255)">></span><span style="COLOR: rgb(0,0,0)">^/article.asp\?id=(.*)$</span><span style="COLOR: rgb(0,0,255)"></</span><span style="COLOR: rgb(128,0,0)">from</span><span style="COLOR: rgb(0,0,255)">></span><span style="COLOR: rgb(0,0,0)"><br />        </span><span style="COLOR: rgb(0,0,255)"><</span><span style="COLOR: rgb(128,0,0)">to </span><span style="COLOR: rgb(255,0,0)">type</span><span style="COLOR: rgb(0,0,255)">="redirect"</span><span style="COLOR: rgb(0,0,255)">></span><span style="COLOR: rgb(0,0,0)">/entry/$1.jhtml</span><span style="COLOR: rgb(0,0,255)"></</span><span style="COLOR: rgb(128,0,0)">to</span><span style="COLOR: rgb(0,0,255)">></span><span style="COLOR: rgb(0,0,0)"><br />    </span><span style="COLOR: rgb(0,0,255)"></</span><span style="COLOR: rgb(128,0,0)">rule</span><span style="COLOR: rgb(0,0,255)">></span></div>     但是我这æ ïLš„˜qžæŽ¥æ€ÀL˜¯åŒšw…ä¸åˆ°åQŒåªè¦åŽ»æŽ‰é‚£ä¸ªï¼Ÿž®±å¯ä»¥äº†ã€‚这个正则表辑ּ是没有问题的ã€?article.asp?id=64是å¯ä»¥åŒ¹é…的到的ã€?br />    åŽæ¥çœ?.0çš„manual (http://tuckey.org/urlrewrite/manual/3.0/)æ‰å‘çŽ°åŽŸæ¥æ˜¯˜q™ä¸ªçš„问题ã€?br /><h3><urlrewrite> element</h3><p>The top level element.</p><table cellspacing="0"><tbody><tr><th>Attribute</th><th>Possible Value</th><th>Explanation</th></tr><tr><td rowspan="2">default-match-type <br /><small>(optional)</small></td><td><b>regex</b> (default)</td><td>All rules and thier conditions will be processed using the Java Regular Expression engine (unless <code>match-type</code> is specified on a rule).</td></tr><tr><td>wildcard</td><td>All rules and thier conditions will be processed using the <a >Wildcard Expression engine</a> (unless <code>match-type</code> is specified on a rule).</td></tr><tr><td rowspan="3">decode-using <br /><small>(optional)</small></td><td><b>utf8</b> (default)</td><td>When URL is decoded UTF-8 will be used.</td></tr><tr><td>null</td><td>Do not decode.</td></tr><tr><td>[encoding]</td><td>Any string representing a supported character encoding eg, ISO-8859-1. See <a >Java Charset Object</a> for more info. </td></tr><tr><td style="FONT-WEIGHT: bold; COLOR: rgb(0,0,255)" rowspan="2">use-query-string <br /><small>(optional)</small></td><td><b>false</b> (default)</td><td>The query string will <em>not</em> be appended to the url that the "from" element matches against.</td></tr><tr><td>true</td><td>The query string will be appended to the url that the "from" element matches against.</td></tr><tr><td rowspan="2">use-context <br /><small>(optional)</small></td><td><b>false</b> (default)</td><td>The context path will <em>not</em> be added to the url that the "from" element matches against.</td></tr><tr><td>true</td><td>The context path will be added to the url that the "from" element matches against.</td></tr></tbody></table><br />ž®±æ˜¯é‚£ä¸ªuse-query-string 的问题,默认的是ä¸ä‹É用query-stringž®±æ˜¯æŠ?åŽé¢çš„都忽略了。所以就ä¸èƒ½åŒšw…åˆîCº†ã€‚åªè¦åœ¨<urlrewrite>里é¢åŠ ä¸€ä¸ªå±žæ€§å°±å¯ä»¥äº†ã€?br /><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)"><span style="COLOR: rgb(0,0,255)"><</span><span style="COLOR: rgb(128,0,0)">urlrewrite </span><span style="COLOR: rgb(255,0,0)">use-query-string</span><span style="COLOR: rgb(0,0,255)">="true"</span><span style="COLOR: rgb(0,0,255)">></span><span style="COLOR: rgb(0,0,0)"><br />    <img alt="" src="http://www.aygfsteel.com/images/dot.gif" /><br /></span><span style="COLOR: rgb(0,0,255)"></</span><span style="COLOR: rgb(128,0,0)">urlrewrite</span><span style="COLOR: rgb(0,0,255)">></span></div><p><a target="_blank"><img height="31" alt="创造共用åè®?¾|²å,éžå•†ä¸?ä¿æŒä¸€è‡? src="http://leaf.jdk.cn/rights.gif" width="88" border="0" /></a>   除ç»ç‰¹åˆ«æ³¨æ˜Žå¤?本文章版æƒå½’<strong><a class="" ><font color="#6b6b52">莫多泡æˆö</font></a></strong>所æœ? <br /><font color="#ff0000">¾|²å,éžå•†ä¸šç”¨é€?ä¿æŒä¸€è‡?</font>   <a title="莫多泡æˆö" target="_blank">somebody(莫多)</a></p><img src ="http://www.aygfsteel.com/rory/aggbug/87151.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rory/" target="_blank">莫多</a> 2006-12-12 10:33 <a href="http://www.aygfsteel.com/rory/archive/2006/12/12/tuckey-urlrewrite_3-querystring-problem.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>˜q˜æ˜¯ä¹Þq é—®é¢˜http://www.aygfsteel.com/rory/archive/2006/07/22/59567.html莫多莫多Sat, 22 Jul 2006 10:13:00 GMThttp://www.aygfsteel.com/rory/archive/2006/07/22/59567.htmlhttp://www.aygfsteel.com/rory/comments/59567.htmlhttp://www.aygfsteel.com/rory/archive/2006/07/22/59567.html#Feedback2http://www.aygfsteel.com/rory/comments/commentRss/59567.htmlhttp://www.aygfsteel.com/rory/services/trackbacks/59567.html     虽然™å¹ç›®å…¨éƒ¨é‡‡ç”¨äº†UTF-8¾~–ç åQŒæ‰€æœ‰çš„æºæ–‡ä»?.java,*.jsc,*.html,*.ftl都采用了UTF-8¾~–ç ã€‚坿˜¯è¿˜æ˜¯å‡ºçŽîCº†ä¹Þq é—®é¢˜ã€‚很是ä¸çˆ½ï¼ŒåŽæ¥æ‰‘Öˆ°äº†tomcatåQŒå’Œresin的酾|®ã€?/p>
  1. Tomcat的酾|®ã€?conf/server.xml)
        <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
        
    <Connector port="80" maxHttpHeaderSize="8192"
                   maxThreads
    ="150" minSpareThreads="25" maxSpareThreads="75"
                   enableLookups
    ="false" redirectPort="8443" acceptCount="100"
                   connectionTimeout
    ="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>
  2. Resin的酾|®ã€?conf/resin.conf)

    character-encoding

    Resin 1.1
    child of: resin, server, host-default, host, web-app-default, web-app
    default: The default value is ISO-8859-1.

    Specifies the default character encoding for the environment.

    <web-app id='/'>
      <character-encoding>shift_jis</character-encoding>
      ...
    
    </web-app>
    

     ˜q™ä¸ªæ˜¯resin doc里é¢çš„æˆ‘是在web-app-default里é¢åŠ ä¸Šäº†encoding的酾|?/p>

     < web-app-default >
      
< character-encoding > UTF-8 </ character-encoding >
      
    
</ web-app-default >

希望对你的项目有帮助�/p>

创造共用åè®?¾|²å,éžå•†ä¸?ä¿æŒä¸€è‡? src=    除ç»ç‰¹åˆ«æ³¨æ˜Žå¤?本文章版æƒå½’莫多泡æˆö所æœ?
¾|²å,éžå•†ä¸šç”¨é€?ä¿æŒä¸€è‡?   somebody(莫多)  



莫多 2006-07-22 18:13 å‘表评论
]]>
关于Resin虚拟目录é…置的问é¢?/title><link>http://www.aygfsteel.com/rory/archive/2006/07/18/58838.html</link><dc:creator>莫多</dc:creator><author>莫多</author><pubDate>Tue, 18 Jul 2006 11:41:00 GMT</pubDate><guid>http://www.aygfsteel.com/rory/archive/2006/07/18/58838.html</guid><wfw:comment>http://www.aygfsteel.com/rory/comments/58838.html</wfw:comment><comments>http://www.aygfsteel.com/rory/archive/2006/07/18/58838.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rory/comments/commentRss/58838.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rory/services/trackbacks/58838.html</trackback:ping><description><![CDATA[™å¹ç›®ä¸­å¤šä¸ªé¡¹ç›®éœ€è¦åŒæ—¶å¼•ç”¨ä¸€ä¸ªé™æ€èµ„æºï¼Œæ‰€ä»¥å°±æƒ›_ˆ°é…ç½®ä¸åŒçš„虚拟目录指到åŒä¸€ä¸ªç›®å½•。于是有下é¢çš„é…¾|?<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"><span style="COLOR: #000000">    </span><span style="COLOR: #008000"><!--</span><span style="COLOR: #008000"> configures the default host, matching any host name </span><span style="COLOR: #008000">--></span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">host </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">=""</span><span style="COLOR: #ff0000"> root-directory</span><span style="COLOR: #0000ff">="."</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br />      </span><span style="COLOR: #008000"><!--</span><span style="COLOR: #008000"><br />         - configures an explicit root web-app matching the<br />         - webapp's ROOT<br />        </span><span style="COLOR: #008000">--></span><span style="COLOR: #000000"><br />      </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">web-app </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="/"</span><span style="COLOR: #ff0000"> document-directory</span><span style="COLOR: #0000ff">="webapps/ROOT"</span><span style="COLOR: #0000ff">/></span><span style="COLOR: #000000"><br />      </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">web-app </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="/community/jsvm2"</span><span style="COLOR: #ff0000"> document-directory</span><span style="COLOR: #0000ff">="D:\\projects\\FelooComponents\\jsvm2"</span><span style="COLOR: #0000ff">/></span><span style="COLOR: #000000"><br />      </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">web-app </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="/passport/jsvm2"</span><span style="COLOR: #ff0000"> document-directory</span><span style="COLOR: #0000ff">="D:\\projects\\FelooComponents\\jsvm2"</span><span style="COLOR: #0000ff">/></span><span style="COLOR: #000000"><br />    </span><span style="COLOR: #0000ff"></</span><span style="COLOR: #800000">host</span><span style="COLOR: #0000ff">></span></div><p>       但是å‘现˜q™æ ·åªæœ‰åŽé¢ä¸€ä¸ªç®¡ç”?<a href="http://localhost:8080/passport/jsvm2">http://localhost:8080/passport/jsvm2</a>)˜q™ä¸ªæ˜¯å¯ä»?坿˜¯(<a href="http://localhost:8080/community/jsvm2">http://localhost:8080/community/jsvm2</a>)ž®×ƒ¸è¡?很是éƒé—·ã€‚åªè¦åŽé¢çš„document-directory䏿˜¯åŒä¸€ä¸ªç›®å½•å°±æˆã€?br />       åŽæ¥åœ¨resinçš„doc里é¢çœ‹åˆ°path的酾|?/p><h4>path-mapping</h4><div id="wmqeeuq" class="desc"><b>child of:</b> web-app-default, web-app<br /><p>Maps url patterns to real paths. If using a server like IIS, you may need to match the server's path aliases.</p><p></p><table class="deftable" cellspacing="0" cellpadding="2" width="90%" border="1"><tbody><tr><th>Attribute</th><th>Meaning</th><th>default</th></tr><tr><td><span id="wmqeeuq" class="meta">url-pattern</span></td><td>A pattern matching the url: <span id="wmqeeuq" class="meta">/foo/*</span>, <span id="wmqeeuq" class="meta">/foo</span>, or <span id="wmqeeuq" class="meta">*.foo</span></td></tr><tr><td>url-regexp</td><td>A regular expression matching the url </td></tr><tr><td>real-path</td><td>The prefix of the real path. When used with <span id="wmqeeuq" class="meta">url-regexp</span>, allows substitution variables like <span id="wmqeeuq" class="meta">$1</span>. </td></tr></tbody></table><p></p><table class="egpad" cellspacing="0" width="90%"><tbody><tr><td class="example" bgcolor="#ffeecc"><pre><web-app id='/'> <path-mapping url-pattern='/resin/*' real-path='e:\resin'/> <path-mapping url-regexp='/~([^/]*)' real-path='e:\home$1'/> </web-app> </pre></td></tr></tbody></table></div><p>æ”ÒŽ­£˜q™æ ·çš„é…¾|®å°±ok了ã€?/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: #000000">        </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">web-app </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="/community"</span><span style="COLOR: #ff0000"> document-directory</span><span style="COLOR: #0000ff">="D:\\projects\\FelooCommunityWeb"</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br />          </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">path-mapping </span><span style="COLOR: #ff0000">url-pattern</span><span style="COLOR: #0000ff">='jsvm2/*'<br />              </span><span style="COLOR: #ff0000">real-path</span><span style="COLOR: #0000ff">='D:\\projects\\FelooComponents\\jsvm2'/><br />      </span><span style="COLOR: #ff0000"></web-app</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br />      <br />            </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">web-app </span><span style="COLOR: #ff0000">id</span><span style="COLOR: #0000ff">="/passport"</span><span style="COLOR: #ff0000"> document-directory</span><span style="COLOR: #0000ff">="D:\\projects\\FelooPassportWeb"</span><span style="COLOR: #0000ff">></span><span style="COLOR: #000000"><br />          </span><span style="COLOR: #0000ff"><</span><span style="COLOR: #800000">path-mapping </span><span style="COLOR: #ff0000">url-pattern</span><span style="COLOR: #0000ff">='jsvm2/*'<br />              </span><span style="COLOR: #ff0000">real-path</span><span style="COLOR: #0000ff">='D:\\projects\\FelooComponents\\jsvm2'/><br />      </span><span style="COLOR: #ff0000"></web-app</span><span style="COLOR: #0000ff">></span></div><a target="_blank"><img height="31" alt="创造共用åè®?¾|²å,éžå•†ä¸?ä¿æŒä¸€è‡? src="http://leaf.jdk.cn/rights.gif" width="88" border="0" /></a>   除ç»ç‰¹åˆ«æ³¨æ˜Žå¤?本文章版æƒå½’<strong><a class="" title="" target=""><font color="#6b6b52">莫多泡æˆö</font></a></strong>所æœ? <br /><font color="#ff0000">¾|²å,éžå•†ä¸šç”¨é€?ä¿æŒä¸€è‡?</font>   somebody(莫多)<img src ="http://www.aygfsteel.com/rory/aggbug/58838.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rory/" target="_blank">莫多</a> 2006-07-18 19:41 <a href="http://www.aygfsteel.com/rory/archive/2006/07/18/58838.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item><item><title>关于Freemarker生æˆé™æ€æ–‡ä»¶çš„问题http://www.aygfsteel.com/rory/archive/2006/06/21/54134.html莫多莫多Wed, 21 Jun 2006 02:46:00 GMThttp://www.aygfsteel.com/rory/archive/2006/06/21/54134.htmlhttp://www.aygfsteel.com/rory/comments/54134.htmlhttp://www.aygfsteel.com/rory/archive/2006/06/21/54134.html#Feedback0http://www.aygfsteel.com/rory/comments/commentRss/54134.htmlhttp://www.aygfsteel.com/rory/services/trackbacks/54134.html使用FreeMarker生æˆHtml陿€æ–‡ä»?实例)ã€?br />      在我们的™å¹ç›®ä¸­ä¹Ÿç”¨åˆ°äº†Freemarker生æˆé™æ€æ–‡ä»¶ã€‚丘q‡è¿™é‡Œæˆ‘è¦è¯´çš„æ˜¯¾~–ç çš„问题。我们的™å¹ç›®ä½¿ç”¨çš„都是UTF-8¾~–ç åQŒæˆ‘直接使用 飞云ž®ä¾  æä¾›çš„æ–¹æ³•生æˆçš„æ–‡äšg在UTF-8¾~–ç ä¸‹å¯Ÿçœ‹æ˜¯ä¹Þq åQŒè€ŒGBK正常(åŽæ¥å‘çŽ°å› äØ“æˆ‘ç”¨çš„ä¸­æ–‡æ“作系¾lŸæ‰€ä»¥ç”¨GBK查看正常)ã€?br />      当然我把Freemarker的酾|®éƒ½æ”ÒŽˆäº†UTF-8åQŒæˆ‘的模版文件也是UTF-8¾~–ç çš„ã€‚ä¸‹é¢æ˜¯åŽŸæ¥çš„代ç ?br />
    public void setTemplatePath(Resource templatePath) {
        
this.templatePath = templatePath;
        
//讄¡½®freemarkerçš„å‚æ•?/span>
        freemarkerCfg = new Configuration();
        
try {
            freemarkerCfg.setDirectoryForTemplateLoading(
this.templatePath.getFile());
            freemarkerCfg.setObjectWrapper(
new DefaultObjectWrapper());
            freemarkerCfg.setDefaultEncoding(
"UTF-8");
        } 
catch (IOException ex) {
            
throw new SystemException("No Directory found,please check you config.");
        }
    }
    /**
     * 生æˆé™æ€æ–‡ä»?br />     * 
@param templateFileName 模版åç§°eg:(biz/order.ftl)
     * 
@param propMapÂ ç”¨äºŽå¤„ç†æ¨¡æ¿çš„属性Object映射 
     * 
@param htmlFilePath è¦ç”Ÿæˆçš„陿€æ–‡ä»¶çš„路径,相对讄¡½®ä¸­çš„æ ¹èµ\å¾?例如 "/biz/2006/5/" 
     * 
@param htmlFileName è¦ç”Ÿæˆçš„æ–‡äšgå?例如 "123.htm" 
     * 
@return
     
*/
    
private boolean buildHtml(String templateFileName,Map propMap, String htmlFilePath,String htmlFileName){
        
try {
            Template template 
= freemarkerCfg.getTemplate(templateFileName);
            template.setEncoding(
"UTF-8");
            
//创å¾ç”Ÿæˆæ–‡äšg目录
            creatDirs(buildPath.getFilename(),htmlFilePath);
            File htmlFile 
= new File(buildPath + htmlFilePath + htmlFileName);
            Writer out 
= new BufferedWriter(new OutputStreamWriter(new FileOutputStream(htmlFile)));
            template.process(propMap,out);
            out.flush();
            
return true;
        } 
catch (TemplateException ex){
            log.error(
"Build Error"+templateFileName,ex);
            
return false;
        } 
catch (IOException e) {
            log.error(
"Build Error"+templateFileName,e);
            
return false;
        }
        
    }
䏋颿˜¯ä¿®æ”¹ä¹‹åŽçš„代ç 
    /**
     * 生æˆé™æ€æ–‡ä»?br />     * 
@param templateFileName 模版åç§°eg:(biz/order.ftl)
     * 
@param propMapÂ ç”¨äºŽå¤„ç†æ¨¡æ¿çš„属性Object映射 
     * 
@param htmlFilePath è¦ç”Ÿæˆçš„陿€æ–‡ä»¶çš„路径,相对讄¡½®ä¸­çš„æ ¹èµ\å¾?例如 "/biz/2006/5/" 
     * 
@param htmlFileName è¦ç”Ÿæˆçš„æ–‡äšgå?例如 "123.htm" 
     * 
@return
     
*/
    
private boolean buildHtml(String templateFileName,Map propMap, String htmlFilePath,String htmlFileName){
        
try {
            Template template 
= freemarkerCfg.getTemplate(templateFileName);
            template.setEncoding(
"UTF-8");
            
//创å¾ç”Ÿæˆæ–‡äšg目录
            creatDirs(buildPath.getFilename(),htmlFilePath);
            File htmlFile 
= new File(buildPath + htmlFilePath + htmlFileName);
            Writer out 
= new BufferedWriter(new OutputStreamWriter(new FileOutputStream(htmlFile),"UTF-8"));
            template.process(propMap,out);
            out.flush();
            
return true;
        } 
catch (TemplateException ex){
            log.error(
"Build Error"+templateFileName,ex);
            
return false;
        } 
catch (IOException e) {
            log.error(
"Build Error"+templateFileName,e);
            
return false;
        }
        
    }
原因ž®±åœ¨äºŽOutputStreamWriterçš„ä¸åŒæž„造方æ³?br />
OutputStreamWriter(OutputStream out)
          创å¾ä½¿ç”¨é»˜è®¤å­—符¾~–ç çš?OutputStreamWriterã€?br />
OutputStreamWriter(OutputStream out, String charsetName)
          创å¾ä½¿ç”¨æŒ‡å®šå­—符集的 OutputStreamWriterã€?br />
 
˜q™ä¸ªæ˜¯ä¸­æ–‡JDK的文档说明,刚开始我使用默认的构造函敎ͼŒæ‰€ä»¥ä‹É用了¾pÈ»Ÿé»˜è®¤çš„ç¼–ç ï¼ŒGBKåQŒæ‰€ä»¥åœ¨ç”Ÿæˆé™æ€æ–‡ä»¶çš„æ—¶å€™æŠŠUTF-8内容用GBK¾~–ç å†™å…¥äº†ï¼Œæ‰€ä»¥åœ¨UTF-8下æµè§ˆå°±æœ‰é—®é¢˜ã€?br />
˜q˜æœ‰å…³äºŽä¿®æ”¹æ¨¡ç‰ˆæ–‡äšgåŒæ ·ä¹Ÿè¦æ³¨æ„˜q™ä¸ªé—®é¢˜ã€?br />
    public String loadTemplate(String templateName) {
        StringBuffer sb 
= new StringBuffer();
        
try {
            File file 
= new File(templatePath+"/"+templateName);
            BufferedReader reader 
= new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
            String line 
= reader.readLine();
            
while(line != null)    {
                sb.append(line);
                sb.append(
"\r\n");
                line 
= reader.readLine();
            }
            reader.close();
        } 
catch (IOException e) {
            
throw new SystemException("Loading template Error:",e);
        }
        
return sb.toString();
    }
    public void saveTemplate(String templateName, String templateContent) {
        
try {
            File file 
= new File(templatePath + "/" + templateName);
            Writer out 
= new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"UTF-8"));
            out.write(templateContent);
            out.flush();
            
//扔出templatesave事äšg
            TemplateSaveEvent evt = new TemplateSaveEvent();
            evt.setTemplateName(templateName);
            dispatchTemplateEvent(evt);
        } 
catch (IOException e) {
            
throw new SystemException("Write template Error",e);
        }
    }



莫多 2006-06-21 10:46 å‘表评论
]]>
用ant˜q›è¡Œ™å¹ç›®æ— å¿§éƒ¨çÖvhttp://www.aygfsteel.com/rory/archive/2006/04/28/43884.html莫多莫多Fri, 28 Apr 2006 14:27:00 GMThttp://www.aygfsteel.com/rory/archive/2006/04/28/43884.htmlhttp://www.aygfsteel.com/rory/comments/43884.htmlhttp://www.aygfsteel.com/rory/archive/2006/04/28/43884.html#Feedback3http://www.aygfsteel.com/rory/comments/commentRss/43884.htmlhttp://www.aygfsteel.com/rory/services/trackbacks/43884.html    关于™å¹ç›®çš„一个酾|®æˆ‘çš„å‰å‡ ç¯‡æ–‡ç« æˆ‘也æåˆ°˜q‡ï¼Œé‚£ä¸ªupload的问题就ä¸ä¼šå‘生了。还有就是关于项目开å‘中的一些问题。比如数æ®åº“的连接地å€åQŒupload directory的酾|®ç­‰åQŒè¿™äº›åœ¨å›¢é˜Ÿä¸­çš„æ¯ä¸ªäººéƒ½æ˜¯ä¸ä¸€æ ïLš„åQŒé‚£ä¹ˆåœ¨å‘å¸ƒçš„æ—¶å€™éƒ½è¦æ”¹æˆæœåŠ¡å™¨ä¸Šçš„æ­£ç¡®é…ç½®åQŒå¦‚果一个月部çÖv一‹Æ¡è¿™åˆ°æ²¡æœ‰ä»€ä¹ˆã€‚ä½†æ˜¯åƒæˆ‘们˜q™æ ·æ¯å¤©éƒ¨çÖvž®×ƒ¸æ˜¯é‚£ä¹ˆè½»æ¾äº†ã€‚è€Œä¸”å¦‚æžœä¸€æ—¶ä¸æ³¨æ„很容易造æˆé…ç½®çš„ä¸æ­£ç¡®ã€‚所以对于很多酾|®æ–‡ä»¶æˆ‘们都有两份。一份是用户自己开å‘用的,一份是部çÖv到æœåŠ¡å™¨çš„é…¾|®ï¼Œ˜q™æ ·åœ¨å¼€å‘的时候团队中的æ¯ä¸ªäh都ä¸ä¸€æ øP¼Œå…³äºŽæœåŠ¡å™¨çš„é…置都是一æ ïLš„åQŒåœ¨å‘布的时候是用的æœåŠ¡å™¨çš„é…ç½®è€Œä¸æ˜¯ç”¨å¼€å‘用的酾|®ã€‚egåQšweb.xml(个äh的酾|?web-dest.xml 而关键的é…置也就是下é¢è¿™ŒDüc€?br />web.xml
    <context-param>
        
<param-name>contextConfigLocation</param-name>
        
<param-value>
            classpath:spring/*_context.xml,
            classpath:spring/global.xml 

        
</param-value>
    
</context-param>
web-dest.xml
    <context-param>
        
<param-name>contextConfigLocation</param-name>
        
<param-value>
            classpath:spring/*_context.xml,
            classpath:spring/global-dest.xml,
            classpath:spring/scheduler.xml
        
</param-value>
    
</context-param>
注æ„到其中ä¸ä¸€æ ïLš„。dest里少了scheduler.xml˜q™ä¸ªä¸»è¦æ˜¯å®šæ—¶æ‰§è¡Œçš„一些ä“Q务,一般在开å‘的时候都ä¸éœ€è¦ï¼ŒåŽÀLŽ‰ä¹Ÿå¯ä»¥æå‡é€Ÿåº¦åQŒä¹Ÿä¸ä¼šå‡ºçŽ°é‚£ä¹ˆå¤šçš„log。还有就是å‘布的web.xml用了global-dest.xml˜q™ä¸ªæ˜¯å…³äºŽspringçš„æ€Èš„é…ç½®ã€?br />global.xml
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
<property name="driverClassName"><value>net.sourceforge.jtds.jdbc.Driver</value></property>
        
<property name="url">
            
<value>jdbc:jtds:sqlserver://192.168.0.240:1433/fivefortunes;SelectMethod=cursor</value>
            
</property>
        
<property name="username"><value>sa</value></property>
        
<property name="password"><value></value></property>
    
</bean>
    
    
<bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
<property name="driverClassName"><value>net.sourceforge.jtds.jdbc.Driver</value></property>
        
<property name="url">
            
<value>jdbc:jtds:sqlserver://192.168.0.240:1433/outmail;SelectMethod=cursor</value>
            
</property>
        
<property name="username"><value>sa</value></property>
        
<property name="password"><value></value></property>
    
</bean>
    
    
<bean id="customDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
<property name="driverClassName"><value>net.sourceforge.jtds.jdbc.Driver</value></property>
        
<property name="url">
            
<value>jdbc:jtds:sqlserver://192.168.0.240:1433/custom;SelectMethod=cursor</value>
            
</property>
        
<property name="username"><value>sa</value></property>
        
<property name="password"><value></value></property>
    
</bean>
global-dest.xml
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
<property name="driverClassName"><value>net.sourceforge.jtds.jdbc.Driver</value></property>
        
<property name="url">
            
<value>jdbc:jtds:sqlserver://192.168.0.5:1433/fivefortunes;SelectMethod=cursor</value>
            
</property>
        
<property name="username"><value>sa</value></property>
        
<property name="password"><value></value></property>
    
</bean>
    
    
<bean id="dataSource2" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
<property name="driverClassName"><value>net.sourceforge.jtds.jdbc.Driver</value></property>
        
<property name="url">
            
<value>jdbc:jtds:sqlserver://192.168.0.5:1433/outmail;SelectMethod=cursor</value>
            
</property>
        
<property name="username"><value>sa</value></property>
        
<property name="password"><value></value></property>
    
</bean>
    
    
<bean id="customDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        
<property name="driverClassName"><value>net.sourceforge.jtds.jdbc.Driver</value></property>
        
<property name="url">
            
<value>jdbc:jtds:sqlserver://192.168.0.5:1433/custom;SelectMethod=cursor</value>
            
</property>
        
<property name="username"><value>sa</value></property>
        
<property name="password"><value></value></property>
    
</bean>
˜q˜æœ‰å…³äºŽä¸€äº›propertiesæ–‡äšg我们采用了用ant部çÖv的时候改åå­—æ¥è¾¾åˆ°ç›®çš„ã€?br />build.xml
        <move file="${dist.dir}/mail.properties" tofile="${dist.dir}/mail-dev.properties" />
        
<copy file="${dist.dir}/mail-dest.properties" tofile="${dist.dir}/mail.properties" />
        
<move file="${dist.dir}/upload.properties" tofile="${dist.dir}/upload-dev.properties" />
        
<copy file="${dist.dir}/upload-dest.properties" tofile="${dist.dir}/upload.properties" />

˜q™ä¸ªæ˜¯åœ¨war之å‰åšçš„åQŒå¤§å®¶çœ¼çœ‹ä¹Ÿž®±æ˜Žç™½å§åQŒå°±æ˜¯æŠŠxx-dest.properties,æ”¹åæˆxx.propeties。在打完包之å?br />
        <move file="${dist.dir}/mail-dev.properties" tofile="${dist.dir}/mail.properties" />
        
<move file="${dist.dir}/upload-dev.properties" tofile="${dist.dir}/upload.properties" />
˜q™æ ·ž®Þp¾¾åˆîCº†æˆ‘们无忧的目的了。åªè¦æ¯å¤©éƒ¨¾|²çš„æ—¶å€™ä¿è¯ç¨‹åºèƒ½æ­£å¸¸˜q行åQŒant war一下就安心部çÖvå§ã€?br />以上ž®±æ˜¯å…¨éƒ¨å†…容åQŒå¦‚æžœæœ‰ä»€ä¹ˆä¸æ­£ç¡®‹Æ¢è¿Žç ¸æ¿ç –ã€?img src ="http://www.aygfsteel.com/rory/aggbug/43884.html" width = "1" height = "1" />

莫多 2006-04-28 22:27 å‘表评论
]]>
åˆšæ‰æŠŠcauchoçš„wiki弄åäº?/title><link>http://www.aygfsteel.com/rory/archive/2006/03/21/36572.html</link><dc:creator>莫多</dc:creator><author>莫多</author><pubDate>Tue, 21 Mar 2006 02:48:00 GMT</pubDate><guid>http://www.aygfsteel.com/rory/archive/2006/03/21/36572.html</guid><wfw:comment>http://www.aygfsteel.com/rory/comments/36572.html</wfw:comment><comments>http://www.aygfsteel.com/rory/archive/2006/03/21/36572.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/rory/comments/commentRss/36572.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/rory/services/trackbacks/36572.html</trackback:ping><description><![CDATA[<p> <a >http://wiki.caucho.com</a> <br />真是ä¸å¥½æ„æ€ã€‚我åŽÀL³¨å†Œäº†ä¸€ä¸‹ã€‚å¯èƒ½æ˜¯ä¸­æ–‡æ˜ëЧ°çš„问题å§ã€?br />nickname我用了。中文ã€?/p> <p>它是用的MediaWiki<br /><br /><a >http://leaf.jdk.cn/index.php/archives/82</a></p><img src ="http://www.aygfsteel.com/rory/aggbug/36572.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/rory/" target="_blank">莫多</a> 2006-03-21 10:48 <a href="http://www.aygfsteel.com/rory/archive/2006/03/21/36572.html#Feedback" target="_blank" style="text-decoration:none;">å‘表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> Ö÷Õ¾Ö©Öë³ØÄ£°å£º <a href="http://" target="_blank">Ó¢³¬</a>| <a href="http://" target="_blank">ÔÆÑôÏØ</a>| <a href="http://" target="_blank">°²Î÷ÏØ</a>| <a href="http://" target="_blank">½·áÊÐ</a>| <a href="http://" target="_blank">Íû¿üÏØ</a>| <a href="http://" target="_blank">ÁÖÖ¥ÏØ</a>| <a href="http://" target="_blank">ÔÀÎ÷ÏØ</a>| <a href="http://" target="_blank">ÇßÔ´ÏØ</a>| <a href="http://" target="_blank">ͼƬ</a>| <a href="http://" target="_blank">µ¤¶«ÊÐ</a>| <a href="http://" target="_blank">ÒÀÀ¼ÏØ</a>| <a href="http://" target="_blank">ÑôȪÊÐ</a>| <a href="http://" target="_blank">ÉäÑôÏØ</a>| <a href="http://" target="_blank">Õý¶¨ÏØ</a>| <a href="http://" target="_blank">Á¹É½</a>| <a href="http://" target="_blank">·ïɽÊÐ</a>| <a href="http://" target="_blank">ËìÏªÏØ</a>| <a href="http://" target="_blank">ÏæÌ¶ÊÐ</a>| <a href="http://" target="_blank">ÑÎÔ´ÏØ</a>| <a href="http://" target="_blank">ÃñÏØ</a>| <a href="http://" target="_blank">¶ÁÊé</a>| <a href="http://" target="_blank">´óÐÂÏØ</a>| <a href="http://" target="_blank">Áù°²ÊÐ</a>| <a href="http://" target="_blank">½£ºÓÏØ</a>| <a href="http://" target="_blank">°ÍÁÖ×óÆì</a>| <a href="http://" target="_blank">Î÷Æ½ÏØ</a>| <a href="http://" target="_blank">ÓñÉ½ÏØ</a>| <a href="http://" target="_blank">Ìì½òÊÐ</a>| <a href="http://" target="_blank">ÁÙëÔÏØ</a>| <a href="http://" target="_blank">ºÓ³ØÊÐ</a>| <a href="http://" target="_blank">¸Ê¹ÈÏØ</a>| <a href="http://" target="_blank">½¨ÄþÏØ</a>| <a href="http://" target="_blank">°ÍÑåÄ×¶ûÊÐ</a>| <a href="http://" target="_blank">ÐÂç­ÏØ</a>| <a href="http://" target="_blank">ÓÀ¼ÃÊÐ</a>| <a href="http://" target="_blank">ÏɾÓÏØ</a>| <a href="http://" target="_blank">²ì¹þ</a>| <a href="http://" target="_blank">ÓªÉ½ÏØ</a>| <a href="http://" target="_blank">ÓÀË³ÏØ</a>| <a href="http://" target="_blank">å¡ÏªÏØ</a>| <a href="http://" target="_blank">ºø¹ØÏØ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>