﻿<?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-Enjoy yourself,and don't care about others' thinking!-随笔分类-Roller </title><link>http://www.blogjava.net/TiGERTiAN/category/36013.html</link><description>----TiGERTiAN</description><language>zh-cn</language><lastBuildDate>Tue, 15 Jun 2010 12:13:10 GMT</lastBuildDate><pubDate>Tue, 15 Jun 2010 12:13:10 GMT</pubDate><ttl>60</ttl><item><title>weblogic中如果使用80端口和根目录作为应用的默认目录</title><link>http://www.blogjava.net/TiGERTiAN/archive/2010/06/15/323603.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Tue, 15 Jun 2010 02:15:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2010/06/15/323603.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/323603.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2010/06/15/323603.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/323603.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/323603.html</trackback:ping><description><![CDATA[使用根目录作为默认目录，需要新建一个工程可以叫做index，然后在在WEB-INF目录下面新建一个weblogic.xml，内容是<br />
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000FF; ">&lt;!</span><span style="color: #FF00FF; ">DOCTYPE&nbsp;weblogic-web-app&nbsp;PUBLIC&nbsp;"-//BEA&nbsp;Systems,&nbsp;Inc.//DTD&nbsp;Web&nbsp;Application&nbsp;8.1//EN"&nbsp;"http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
<br />
</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">weblogic-web-app</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">context-root</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">/</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">context-root</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
<br />
</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">weblogic-web-app</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
</span></div>
之后，在web.xml的welcome-file中指定一个跳转页面比如是index.jsp，之后想默认跳转到任何应用都可以通过这个跳转页进行。
<br />
监听80端口，需要在相关域下面的config目录中修改config.xml，例如：<br />
<div style="background-color: #eeeeee; font-size: 13px; border-left-color: #cccccc; padding-right: 5px; padding-bottom: 4px; padding-left: 4px; padding-top: 4px; width: 98%; word-break: break-all; "><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000; ">&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">server</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">demo</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">name</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">listen-port</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">80</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">listen-port</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;</span><span style="color: #800000; ">listen-address</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; ">192.168.1.2</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">listen-address</span><span style="color: #0000FF; ">&gt;</span><span style="color: #000000; "><br />
&nbsp;&nbsp;</span><span style="color: #0000FF; ">&lt;/</span><span style="color: #800000; ">server</span><span style="color: #0000FF; ">&gt;</span></div>
默认端口不是80，只需要将listen-port改成80即可。
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/323603.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2010-06-15 10:15 <a href="http://www.blogjava.net/TiGERTiAN/archive/2010/06/15/323603.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何对属性资源文件进行合并和排序(How to merge and sort the properties files)</title><link>http://www.blogjava.net/TiGERTiAN/archive/2009/01/01/249479.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Thu, 01 Jan 2009 13:05:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2009/01/01/249479.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/249479.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2009/01/01/249479.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/249479.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/249479.html</trackback:ping><description><![CDATA[今天在做Roller开发的时候碰到了一个问题，就是Roller 4自带的国际化文件中，中文的资源文件相比于英文的缺了不少条目，导致界面上很多地方都显示的是英文，本来想一个一个复制然后翻译的，发现条目太多了，就自己写了一个合并和排序程序。<br />
<br />
下面这个是一个带排序的Properties类（SortedProperties）<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"  alt="" /><span style="color: #0000ff">package</span><span style="color: #000000">&nbsp;com.gcoresoft.utils;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Collections;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Enumeration;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Properties;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000">&nbsp;java.util.Vector;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><br />
<img id="Codehighlighter1_145_275_Open_Image" onclick="this.style.display='none'; Codehighlighter1_145_275_Open_Text.style.display='none'; Codehighlighter1_145_275_Closed_Image.style.display='inline'; Codehighlighter1_145_275_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_145_275_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_145_275_Closed_Text.style.display='none'; Codehighlighter1_145_275_Open_Image.style.display='inline'; Codehighlighter1_145_275_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_145_275_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff">/**&nbsp;*/</span><span id="Codehighlighter1_145_275_Open_Text"><span style="color: #008000">/**</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;TODO&nbsp;带排序的配置文件类<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@author</span><span style="color: #008000">&nbsp;&lt;a&nbsp;href="mailto:tianlu@jsecode.com"&gt;tianlu&lt;/a&gt;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;</span><span style="color: #808080">@version</span><span style="color: #008000">&nbsp;$Rev$&nbsp;&lt;br&gt;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$Id$<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;</span><span style="color: #008000">*/</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;SortedProperties&nbsp;</span><span style="color: #0000ff">extends</span><span style="color: #000000">&nbsp;Properties<br />
<img id="Codehighlighter1_326_587_Open_Image" onclick="this.style.display='none'; Codehighlighter1_326_587_Open_Text.style.display='none'; Codehighlighter1_326_587_Closed_Image.style.display='inline'; Codehighlighter1_326_587_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_326_587_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_326_587_Closed_Text.style.display='none'; Codehighlighter1_326_587_Open_Image.style.display='inline'; Codehighlighter1_326_587_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /></span><span id="Codehighlighter1_326_587_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_326_587_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">synchronized</span><span style="color: #000000">&nbsp;Enumeration&nbsp;keys()<br />
<img id="Codehighlighter1_369_585_Open_Image" onclick="this.style.display='none'; Codehighlighter1_369_585_Open_Text.style.display='none'; Codehighlighter1_369_585_Closed_Image.style.display='inline'; Codehighlighter1_369_585_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_369_585_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_369_585_Closed_Text.style.display='none'; Codehighlighter1_369_585_Open_Image.style.display='inline'; Codehighlighter1_369_585_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_369_585_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_369_585_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enumeration&nbsp;keysEnum&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">super</span><span style="color: #000000">.keys();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vector&nbsp;keyList&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;Vector();<br />
<img id="Codehighlighter1_480_524_Open_Image" onclick="this.style.display='none'; Codehighlighter1_480_524_Open_Text.style.display='none'; Codehighlighter1_480_524_Closed_Image.style.display='inline'; Codehighlighter1_480_524_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_480_524_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_480_524_Closed_Text.style.display='none'; Codehighlighter1_480_524_Open_Image.style.display='inline'; Codehighlighter1_480_524_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">&nbsp;(keysEnum.hasMoreElements())&nbsp;</span><span id="Codehighlighter1_480_524_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_480_524_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keyList.add(keysEnum.nextElement());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Collections.sort(keyList);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">return</span><span style="color: #000000">&nbsp;keyList.elements();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />}</span></span></div>
<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"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">public</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">void</span><span style="color: #000000">&nbsp;updateApplicationResources()<br />
<img id="Codehighlighter1_50_774_Open_Image" onclick="this.style.display='none'; Codehighlighter1_50_774_Open_Text.style.display='none'; Codehighlighter1_50_774_Closed_Image.style.display='inline'; Codehighlighter1_50_774_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_50_774_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_50_774_Closed_Text.style.display='none'; Codehighlighter1_50_774_Open_Image.style.display='inline'; Codehighlighter1_50_774_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_50_774_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_50_774_Open_Text"><span style="color: #000000">{<br />
<img id="Codehighlighter1_58_721_Open_Image" onclick="this.style.display='none'; Codehighlighter1_58_721_Open_Text.style.display='none'; Codehighlighter1_58_721_Closed_Image.style.display='inline'; Codehighlighter1_58_721_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_58_721_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_58_721_Closed_Text.style.display='none'; Codehighlighter1_58_721_Open_Image.style.display='inline'; Codehighlighter1_58_721_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_58_721_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_58_721_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;path&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;Utils.</span><span style="color: #0000ff">class</span><span style="color: #000000">.getResource(</span><span style="color: #000000">"</span><span style="color: #000000">/</span><span style="color: #000000">"</span><span style="color: #000000">).getPath();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;cnFilePath&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;path<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">+</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">ApplicationResources_zh_CN.properties</span><span style="color: #000000">"</span><span style="color: #000000">;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ResourceBundle&nbsp;enBundle&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ResourceBundle.getBundle(</span><span style="color: #000000">"</span><span style="color: #000000">ApplicationResources</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Properties&nbsp;cnProp&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;SortedProperties();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;InputStream&nbsp;cnInput&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;FileInputStream(cnFilePath);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnProp.load(cnInput);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnInput.close();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enumeration</span><span style="color: #000000">&lt;</span><span style="color: #000000">String</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;enu&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;&nbsp;enBundle.getKeys();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">while</span><span style="color: #000000">(enu.hasMoreElements())<br />
<img id="Codehighlighter1_511_606_Open_Image" onclick="this.style.display='none'; Codehighlighter1_511_606_Open_Text.style.display='none'; Codehighlighter1_511_606_Closed_Image.style.display='inline'; Codehighlighter1_511_606_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_511_606_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_511_606_Closed_Text.style.display='none'; Codehighlighter1_511_606_Open_Image.style.display='inline'; Codehighlighter1_511_606_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span id="Codehighlighter1_511_606_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_511_606_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;key&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;enu.nextElement();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnProp.setProperty(key,&nbsp;enBundle.getString(key));<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OutputStream&nbsp;output&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;FileOutputStream(cnFilePath);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnProp.store(output,&nbsp;</span><span style="color: #000000">""</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;output.close();<br />
<img id="Codehighlighter1_743_771_Open_Image" onclick="this.style.display='none'; Codehighlighter1_743_771_Open_Text.style.display='none'; Codehighlighter1_743_771_Closed_Image.style.display='inline'; Codehighlighter1_743_771_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_743_771_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_743_771_Closed_Text.style.display='none'; Codehighlighter1_743_771_Open_Image.style.display='inline'; Codehighlighter1_743_771_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;e)&nbsp;</span><span id="Codehighlighter1_743_771_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_743_771_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.printStackTrace();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<br />
这样就可以将中文资源文件中缺少的条目都复制过去并排序好，也方便我们的汉化翻译。
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/249479.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2009-01-01 21:05 <a href="http://www.blogjava.net/TiGERTiAN/archive/2009/01/01/249479.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Roller 3.1 中管理员新增用户界面，默认语言和时区的方法</title><link>http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240810.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Sun, 16 Nov 2008 05:26:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240810.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/240810.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240810.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/240810.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/240810.html</trackback:ping><description><![CDATA[在UserAdminAction.java的newUser方法中添加如下代码即可<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"  alt="" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userForm.setLocale(Locale.getDefault().toString());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userForm.setTimeZone(TimeZone.getDefault().getID());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;userForm.setDataFromSSO(</span><span style="color: #0000ff">false</span><span style="color: #000000">);</span></div>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/240810.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2008-11-16 13:26 <a href="http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240810.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>【第二版】Roller 3.1二次开发工程配置（添加了常见问题解决及详细步骤）</title><link>http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240807.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Sun, 16 Nov 2008 05:03:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240807.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/240807.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240807.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/240807.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/240807.html</trackback:ping><description><![CDATA[1.下载roller 3.1的源代码和<span style="color: red">required jars（一定要下载，否则没有办法编译和运行）<br />
</span>required jars : <a href="https://roller.dev.java.net/servlets/ProjectDocumentList?folderID=6962&amp;expandFolder=6962&amp;folderID=6959">https://roller.dev.java.net/servlets/ProjectDocumentList?folderID=6962&amp;expandFolder=6962&amp;folderID=6959</a><br />
<br />
2.然后在命令行中源代码的目录下面执行build all命令。<br />
如果你的JDK环境大于1.4了，虽然可以调整兼容等级，但还是建议你使用JDK1.4，为了不改变你的原始JDK环境，可以在build.bat中加入<br />
set JAVA_HOME=D:\j2sdk1.4.2_17\<br />
set PATH=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin<br />
set CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar<br />
来临时设置新jdk<br />
<br />
3.build all过后，首先，他会生成所有的wrapper类等等，将生成的所有的类源文件(src下的)拷贝到roller源代码根目录src目录中，webapp中的内容拷贝到根目录下web中，在compile目录下的business\org\apache\roller\pojos\和business\org\apache\roller\planet\pojos\中有很多hbm.xml需要拷贝到源代码同样的目录中，还有就是将classes下的所有文件拷贝到roller的src根目录下。<br />
其次，如果你需要覆盖一些属性，例如数据库连接配置等等，需要在src下建立一个roller-custom.properties文件，放入一些你要覆盖的配置项，例如我要连接SQL Server数据库，则这样配置<br />
hibernate.dialect=org.hibernate.dialect.SQLServerDialect<br />
jdbc.driverClass=com.microsoft.jdbc.sqlserver.SQLServerDriver<br />
jdbc.connectionURL=jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=roller31;User=sa;Password=<br />
jdbc.username=sa<br />
jdbc.password=<br />
当然，不要忘了把相关jar包放进去。<br />
<br />
其他配置请参考Install Guide<br />
<br />
4.下面是建立数据库，如果你使用的SQL Server，建议你将rollerdb脚本中的text类型字段，全部改为ntext，因为SQL Server jdbc的驱动对text的支持存在bug...会有问题的。<br />
如果你使用的tomcat 5.x，请去下载一个兼容包，用来兼容在JDK 1.4上的运行，默认配置下只可以在jdk 1.5上稳定运行。<br />
<br />
5.建立一个Web Project，将roller3.1/src中所有文件拷贝到项目的src中，将roller3.1/web中的所有内容拷贝到项目webroot中，去掉WEB-INF目录下面lib目录中的roller-business.jar和roller-web.jar两个文件，将其他文件添加到build path中。<br />
<br />
<span style="color: red">注意：<br />
</span>如果你是直接部署方式，碰到用户正确注册，但每次登陆都提示用户名密码错误（Wrong username and password combination），请修改security.xml，源代码段修改如下部分：<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 alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="jdbcAuthenticationDao"</span><span style="color: #ff0000">&nbsp;class</span><span style="color: #0000ff">="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="dataSource"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="dataSource"</span><span style="color: #ff0000">&nbsp;class</span><span style="color: #0000ff">="org.springframework.jdbc.datasource.DriverManagerDataSource"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="driverClassName"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">net.sourceforge.jtds.jdbc.Driver</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="url"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=roller31;User=sa;Password=</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="username"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">sa</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="password"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">bean</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="usersByUsernameQuery"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">SELECT&nbsp;username,passphrase,isenabled&nbsp;FROM&nbsp;rolleruser&nbsp;WHERE&nbsp;username&nbsp;=&nbsp;?</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="authoritiesByUsernameQuery"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">SELECT&nbsp;username,rolename&nbsp;FROM&nbsp;userrole&nbsp;WHERE&nbsp;username&nbsp;=&nbsp;?</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">bean</span><span style="color: #0000ff">&gt;</span></div>
将数据源添加上去，因为我发现3.1中的设定jdbc.XX只会对roller主程序有效，对acegi无效，但是如果你是通过配置tomcat来加载的就不需要，这种情况只会发生在直接部署上面。<br />
<br />
如果你碰到了ResultSet can not re-read row data for column 1问题，请参考：<br />
<a id="Editor_Edit_hlEntryLink" title="view: Roller 3.1 ResultSet can not re-read row data for column 1 问题的解决方法" href="http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240794.html" target="_blank">http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240794.html</a><br />
<br />
至此，roller 3.1 的二次开发环境就搭好了。<br />
<br />
等项目完成的差不多了，我会把3.1和4.0的中文国际化文件发布出来，方便大家使用。 
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/240807.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2008-11-16 13:03 <a href="http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240807.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Roller 3.1 ResultSet can not re-read row data for column 1 问题的解决方法</title><link>http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240794.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Sun, 16 Nov 2008 02:55:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240794.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/240794.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240794.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/240794.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/240794.html</trackback:ping><description><![CDATA[<p>这是网上热心人总结的微软驱动的缺点及解决方案：</p>
<p><strong><font color="#0000ff">（1）如果采用jdbc-odbc驱动，那么就必须按照查询顺序来一次读取（不论有没有image或text类型）</font></strong></p>
<p><strong><font color="#0000ff">（2）如果采用微软提供的ms sql server jdbc driver，如果查询语句中，不存在image或text类型字段，那么可以按照无序获取</font></strong></p>
<p><strong><font color="#0000ff">（3）如果采用微软提供的ms sql server jdbc driver，如果查询语句中，存在image或text类型字段，那么就必须按照顺序读取，否则就会报告Driver]ResultSet can not re-read row data for column之类的错误</font></strong></p>
<p><strong><font color="#0000ff">（4）如果想不查询语句中有没有image或text类型字段，都可以不按照顺序获取，或重复获取。</font></strong></p>
<p>Microsoft support也提供了相关网页：<a title="http://support.microsoft.com/kb/824106" href="http://support.microsoft.com/kb/824106">http://support.microsoft.com/kb/824106</a>描述这个问题.当然使用Sql Server 2000的第三方驱动就没有这样的问题存在。我从 网上找到jTDS取代微软的SQLServer2000的JDBC驱动，希望对大家有帮助：</p>
<p>要使用jTDS驱动，配置要做一些变动：
<p>数据库URL：jdbc:jtds:sqlserver://localhost:1433;DatabaseName=XXX
<p>驱动类：net.sourceforge.jtds.jdbc.Driver
<p>其在sourceforge上的介绍中写到：
<p>Open source JDBC 3.0 Type 4 driver for Microsoft SQL Server (6.5, 7.0, 2000 and 2005) and Sybase. jTDS is the fastest JDBC driver for MS SQL Server and is a complete implementation of the JDBC spec.
<p>目前最新版本是1.2.2
<p>项目页：<a href="http://sourceforge.net/projects/jtds/"><u>http://sourceforge.net/projects/jtds/</u></a> </p>
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/240794.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2008-11-16 10:55 <a href="http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240794.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>临时设置jdk,jre的环境变量JAVAHOME,PATH,CLASSPATH（j2re 1.4等等）</title><link>http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240775.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Sun, 16 Nov 2008 00:27:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240775.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/240775.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240775.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/240775.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/240775.html</trackback:ping><description><![CDATA[有时候我们系统的java环境变量是1.5，而且我们主要的开发环境也是1.5。不过有些项目需要在1.4下面编译，如何方便的设置JAVA_HOME,CLASSPATH和PATH等变量呢，只需要在批处理文件下加入<br />
<br />
set JAVA_HOME=D:\j2sdk1.4.2_17\<br />
set PATH=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin<br />
set CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar<br />
<br />
这样的代码即可，注意请替换为您自己的jdk路径。<br />
做个备忘，方便大家使用。
 <img src ="http://www.blogjava.net/TiGERTiAN/aggbug/240775.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2008-11-16 08:27 <a href="http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240775.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Roller 3.1 二次开发环境配置</title><link>http://www.blogjava.net/TiGERTiAN/archive/2008/11/03/238251.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Sun, 02 Nov 2008 16:42:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2008/11/03/238251.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/238251.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2008/11/03/238251.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/238251.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/238251.html</trackback:ping><description><![CDATA[1.下载roller 3.1的源代码和<span style="color: red">required jars（一定要下载，否则没有办法编译和运行）<br />
</span>required jars : <a href="https://roller.dev.java.net/servlets/ProjectDocumentList?folderID=6962&amp;expandFolder=6962&amp;folderID=6959">https://roller.dev.java.net/servlets/ProjectDocumentList?folderID=6962&amp;expandFolder=6962&amp;folderID=6959</a><br />
<br />
2.然后在命令行中源代码的目录下面执行build all命令。<br />
如果你的JDK环境大于1.4了，虽然可以调整兼容等级，但还是建议你使用JDK1.4，为了不改变你的原始JDK环境，可以在build.bat中加入<br />
set JAVA_HOME=D:\j2sdk1.4.2_17\<br />
set PATH=%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin<br />
set CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar<br />
来临时设置新jdk<br />
<br />
3.build all过后，首先，他会生成所有的wrapper类等等，将生成的所有的类源文件(src下的)拷贝到roller源代码根目录src目录中，webapp中的内容拷贝到根目录下web中，在compile目录下的business\org\apache\roller\pojos\和business\org\apache\roller\planet\pojos\中有很多hbm.xml需要拷贝到源代码同样的目录中，还有就是将classes下的所有文件拷贝到roller的src根目录下。<br />
其次，如果你需要覆盖一些属性，例如数据库连接配置等等，需要在src下建立一个roller-custom.properties文件，放入一些你要覆盖的配置项，例如我要连接SQL Server数据库，则这样配置<br />
hibernate.dialect=org.hibernate.dialect.SQLServerDialect<br />
jdbc.driverClass=com.microsoft.jdbc.sqlserver.SQLServerDriver<br />
jdbc.connectionURL=jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=roller31;User=sa;Password=<br />
jdbc.username=sa<br />
jdbc.password=<br />
当然，不要忘了把相关jar包放进去。<br />
<br />
其他配置请参考Install Guide<br />
<br />
4.下面是建立数据库，如果你使用的SQL Server，建议你将rollerdb脚本中的text类型字段，全部改为ntext，因为SQL Server jdbc的驱动对text的支持存在bug...会有问题的。<br />
如果你使用的tomcat 5.x，请去下载一个兼容包，用来兼容在JDK 1.4上的运行，默认配置下只可以在jdk 1.5上稳定运行。<br />
<br />
5.建立一个Web Project，将roller3.1/src中所有文件拷贝到项目的src中，将roller3.1/web中的所有内容拷贝到项目webroot中，去掉WEB-INF目录下面lib目录中的roller-business.jar和roller-web.jar两个文件，将其他文件添加到build path中。<br />
<br />
<span style="color: red">注意：<br />
</span>如果你是直接部署方式，碰到用户正确注册，但每次登陆都提示用户名密码错误（Wrong username and password combination），请修改security.xml，源代码段修改如下部分：<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 alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="jdbcAuthenticationDao"</span><span style="color: #ff0000">&nbsp;class</span><span style="color: #0000ff">="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="dataSource"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean&nbsp;</span><span style="color: #ff0000">id</span><span style="color: #0000ff">="dataSource"</span><span style="color: #ff0000">&nbsp;class</span><span style="color: #0000ff">="org.springframework.jdbc.datasource.DriverManagerDataSource"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="driverClassName"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">net.sourceforge.jtds.jdbc.Driver</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="url"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">jdbc:jtds:sqlserver://127.0.0.1:1433;DatabaseName=roller31;User=sa;Password=</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="username"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">sa</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="password"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">bean</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="usersByUsernameQuery"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">SELECT&nbsp;username,passphrase,isenabled&nbsp;FROM&nbsp;rolleruser&nbsp;WHERE&nbsp;username&nbsp;=&nbsp;?</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">property&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">="authoritiesByUsernameQuery"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">SELECT&nbsp;username,rolename&nbsp;FROM&nbsp;userrole&nbsp;WHERE&nbsp;username&nbsp;=&nbsp;?</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">value</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">property</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">bean</span><span style="color: #0000ff">&gt;</span></div>
将数据源添加上去，因为我发现3.1中的设定jdbc.XX只会对roller主程序有效，对acegi无效，但是如果你是通过配置tomcat来加载的就不需要，这种情况只会发生在直接部署上面。<br />
<br />
如果你碰到了ResultSet can not re-read row data for column 1问题，请参考：<br />
<a id="Editor_Edit_hlEntryLink" title="view: Roller 3.1 ResultSet can not re-read row data for column 1 问题的解决方法" href="http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240794.html" target="_blank">http://www.blogjava.net/TiGERTiAN/archive/2008/11/16/240794.html</a><br />
<br />
至此，roller 3.1 的二次开发环境就搭好了。<br />
<br />
后面我再研究下，如何使得最终发布文件没有class文件，只有roller-business.jar和roller-web.jar两个文件，跟原版一样。 
<img src ="http://www.blogjava.net/TiGERTiAN/aggbug/238251.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2008-11-03 00:42 <a href="http://www.blogjava.net/TiGERTiAN/archive/2008/11/03/238251.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>roller 4.0 中文标题乱码的解决</title><link>http://www.blogjava.net/TiGERTiAN/archive/2008/10/13/234032.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Mon, 13 Oct 2008 08:17:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2008/10/13/234032.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/234032.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2008/10/13/234032.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/234032.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/234032.html</trackback:ping><description><![CDATA[在themes/basic/weblog.vm中，修改$utils.escapeHTML($model.weblog.name)为$utils.removeHTML($model.weblog.name)即可
 <img src ="http://www.blogjava.net/TiGERTiAN/aggbug/234032.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2008-10-13 16:17 <a href="http://www.blogjava.net/TiGERTiAN/archive/2008/10/13/234032.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Roller 4.0中使用SQL Server 2000产生的异常[Microsoft][SQLServer 2000 Driver for JDBC]Underlying input stream returned zero bytes 的解决办法</title><link>http://www.blogjava.net/TiGERTiAN/archive/2008/10/13/234013.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Mon, 13 Oct 2008 07:02:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2008/10/13/234013.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/234013.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2008/10/13/234013.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/234013.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/234013.html</trackback:ping><description><![CDATA[问题说明在这里：<br />
http://support.microsoft.com/kb/894559<br />
<br />
1.最好能有最新的hotfix驱动，上面已经列出来了。<br />
2.给所有的text列一个默认值''<br />
3.将所有的text类型改为ntext即可<br />
<br />
还可以去下载第三方驱动jTDS，没有这个问题：<br />
<br />
使用jTDS驱动，配置要做一些变动：
<p>数据库URL：jdbc:jtds:sqlserver://localhost:1433;DatabaseName=XXX
<p>驱动类：net.sourceforge.jtds.jdbc.Driver
<p>目前最新版本是1.2.2 </p>
<br />
<a href="http://sourceforge.net/projects/jtds/"><u>http://sourceforge.net/projects/jtds/</u></a> <br />
 <img src ="http://www.blogjava.net/TiGERTiAN/aggbug/234013.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2008-10-13 15:02 <a href="http://www.blogjava.net/TiGERTiAN/archive/2008/10/13/234013.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Roller 4.0 二次开发项目工程配置</title><link>http://www.blogjava.net/TiGERTiAN/archive/2008/10/13/234011.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Mon, 13 Oct 2008 06:59:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2008/10/13/234011.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/234011.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2008/10/13/234011.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/234011.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/234011.html</trackback:ping><description><![CDATA[1.新建一个Java Project From Existing Ant Buildfile项目，通过webbloger下的build.xml导入进eclipse工程里面，选择build-business就可以了<br />
2.添加相应的包，mail.jar.activation.jar,以及roller bin中所有的包。<br />
3.将weblogger/custom目录以及build.properties和properties.xmlf拷贝到刚才新建的Java工程项目根目录<br />
4.对build.xml点击右键--run--open external tool dialog，配置Ant参数。<br />
5.Ant参数中，Main中Base Directory设定为roller 4.0源代码目录的webbloger目录，Classpath里面添加jboss-j2ee.jar,mail.jar,activation.jar三个包。Targets选择usage和rebuild，点击生成即可。<br />
6.再新建一个web project，把上一个工程的所有包都加进去，同时还要加入数据库连接的包(比如mysql的)以及上一个工程生成的jar包（roller-business.jar和roller-web.jar）。同时还需要把所有资源文件加入进去（存放于weblogger\web\WEB-INF\classes\下的所有文件，主要都是一些资源配置文件没有类文件），这样就可以了。<br />
7.每次修改生成的jar包会跟着一起部署到容器里面 
 <img src ="http://www.blogjava.net/TiGERTiAN/aggbug/234011.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2008-10-13 14:59 <a href="http://www.blogjava.net/TiGERTiAN/archive/2008/10/13/234011.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>