﻿<?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-kelefa</title><link>http://www.blogjava.net/kelefa/</link><description>大千世界中，唯一缺乏的就是人类的注意力。</description><language>zh-cn</language><lastBuildDate>Wed, 29 Apr 2026 16:50:39 GMT</lastBuildDate><pubDate>Wed, 29 Apr 2026 16:50:39 GMT</pubDate><ttl>60</ttl><item><title>rm -rf * -bash: /bin/rm: 参数列表过长</title><link>http://www.blogjava.net/kelefa/archive/2007/02/02/97528.html</link><dc:creator>杨杰荣</dc:creator><author>杨杰荣</author><pubDate>Fri, 02 Feb 2007 06:24:00 GMT</pubDate><guid>http://www.blogjava.net/kelefa/archive/2007/02/02/97528.html</guid><wfw:comment>http://www.blogjava.net/kelefa/comments/97528.html</wfw:comment><comments>http://www.blogjava.net/kelefa/archive/2007/02/02/97528.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kelefa/comments/commentRss/97528.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kelefa/services/trackbacks/97528.html</trackback:ping><description><![CDATA[
		<p>在linux下用rm删除大量文件时会出现这个错误:</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">   rm -rf 'wz-a1.2007-02*'<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">rm -rf * -bash: /bin/rm: 参数列表过长</span></div>
		<br />经过google, 发现这个方法, 特记下来, 以防以后忘记<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">find . -name </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">wz-a1.2007-02*</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> | xargs <font style="BACKGROUND-COLOR: #eeeeee">rm -rf 'wz-a1.2007-02*'</font></span></div><img src ="http://www.blogjava.net/kelefa/aggbug/97528.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kelefa/" target="_blank">杨杰荣</a> 2007-02-02 14:24 <a href="http://www.blogjava.net/kelefa/archive/2007/02/02/97528.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>一个简单易用的webwork分页action基类</title><link>http://www.blogjava.net/kelefa/archive/2006/12/28/90321.html</link><dc:creator>杨杰荣</dc:creator><author>杨杰荣</author><pubDate>Thu, 28 Dec 2006 00:46:00 GMT</pubDate><guid>http://www.blogjava.net/kelefa/archive/2006/12/28/90321.html</guid><wfw:comment>http://www.blogjava.net/kelefa/comments/90321.html</wfw:comment><comments>http://www.blogjava.net/kelefa/archive/2006/12/28/90321.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://www.blogjava.net/kelefa/comments/commentRss/90321.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kelefa/services/trackbacks/90321.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 在某个项目中,经过几个同事的修改, 最终得到这个支持分页的action基类, 使用非常简单:1. 在写action类时把派生ActionSupport类改成派生这个PaginationSupportAction类2. 实现这两个抽象方法, 其中doExecute方法就是你原来的execute方法的代码, queryCount()返回符合条件的记录数    /** *//**     * just ...&nbsp;&nbsp;<a href='http://www.blogjava.net/kelefa/archive/2006/12/28/90321.html'>阅读全文</a><img src ="http://www.blogjava.net/kelefa/aggbug/90321.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kelefa/" target="_blank">杨杰荣</a> 2006-12-28 08:46 <a href="http://www.blogjava.net/kelefa/archive/2006/12/28/90321.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]cmpp接收短信</title><link>http://www.blogjava.net/kelefa/archive/2006/12/27/90256.html</link><dc:creator>杨杰荣</dc:creator><author>杨杰荣</author><pubDate>Wed, 27 Dec 2006 03:35:00 GMT</pubDate><guid>http://www.blogjava.net/kelefa/archive/2006/12/27/90256.html</guid><wfw:comment>http://www.blogjava.net/kelefa/comments/90256.html</wfw:comment><comments>http://www.blogjava.net/kelefa/archive/2006/12/27/90256.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/kelefa/comments/commentRss/90256.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kelefa/services/trackbacks/90256.html</trackback:ping><description><![CDATA[1。通过cmpp协议接收短信不是在自己的服务器的7910端口监听，而是链接到移动短信服务器的7910端口  2。短信内容的长度是byte的类型，8个字节，应该是无符号的，但是java的byte是有符号的，所以最大值是127，当大于127时长度就小于0了，所以这两天一直郁闷为什么发长短信就死在那里，解决：  bytetmpLen=in.readByte(); msg_<br>文章来源:<a href='http://www.yourblog.org/Data/20054/249969.html'>http://www.yourblog.org/Data/20054/249969.html</a><img src ="http://www.blogjava.net/kelefa/aggbug/90256.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kelefa/" target="_blank">杨杰荣</a> 2006-12-27 11:35 <a href="http://www.blogjava.net/kelefa/archive/2006/12/27/90256.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[导入]cmpp滑动窗口</title><link>http://www.blogjava.net/kelefa/archive/2006/12/27/90255.html</link><dc:creator>杨杰荣</dc:creator><author>杨杰荣</author><pubDate>Wed, 27 Dec 2006 03:35:00 GMT</pubDate><guid>http://www.blogjava.net/kelefa/archive/2006/12/27/90255.html</guid><wfw:comment>http://www.blogjava.net/kelefa/comments/90255.html</wfw:comment><comments>http://www.blogjava.net/kelefa/archive/2006/12/27/90255.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kelefa/comments/commentRss/90255.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kelefa/services/trackbacks/90255.html</trackback:ping><description><![CDATA[packagecom.kelefa.glidewindow;  importjava.util.HashMap; importjava.util.LinkedHashMap; importjava.util.Map;  /** *滑动窗口. *有些工作(例如网络通信)需要回应,但不需要一个一个的等待回应,可并发的进行,但需要控制流量, *滑动窗口是比较好的方法<br>文章来源:<a href='http://www.yourblog.org/Data/20054/250650.html'>http://www.yourblog.org/Data/20054/250650.html</a><img src ="http://www.blogjava.net/kelefa/aggbug/90255.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kelefa/" target="_blank">杨杰荣</a> 2006-12-27 11:35 <a href="http://www.blogjava.net/kelefa/archive/2006/12/27/90255.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hibernate中DB2数据库的dialect分页问题</title><link>http://www.blogjava.net/kelefa/archive/2006/12/27/90246.html</link><dc:creator>杨杰荣</dc:creator><author>杨杰荣</author><pubDate>Wed, 27 Dec 2006 03:17:00 GMT</pubDate><guid>http://www.blogjava.net/kelefa/archive/2006/12/27/90246.html</guid><wfw:comment>http://www.blogjava.net/kelefa/comments/90246.html</wfw:comment><comments>http://www.blogjava.net/kelefa/archive/2006/12/27/90246.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/kelefa/comments/commentRss/90246.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kelefa/services/trackbacks/90246.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 不知道是自己对hibernate不了解,用的不对, 还是db2版本问题, 以前的一个项目用到db2, hibernate, 以为hibernate已经帮我们做好分页的一切事情,只要用就行了, 代码大概如下:    /** *//**     * 设置分页, pageNo或pageList&lt;=0时返回所有记录     *      * @param pageNo     *          ...&nbsp;&nbsp;<a href='http://www.blogjava.net/kelefa/archive/2006/12/27/90246.html'>阅读全文</a><img src ="http://www.blogjava.net/kelefa/aggbug/90246.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kelefa/" target="_blank">杨杰荣</a> 2006-12-27 11:17 <a href="http://www.blogjava.net/kelefa/archive/2006/12/27/90246.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网络设备主动告警系统之snmp告警的实现</title><link>http://www.blogjava.net/kelefa/archive/2006/12/27/90225.html</link><dc:creator>杨杰荣</dc:creator><author>杨杰荣</author><pubDate>Wed, 27 Dec 2006 01:50:00 GMT</pubDate><guid>http://www.blogjava.net/kelefa/archive/2006/12/27/90225.html</guid><wfw:comment>http://www.blogjava.net/kelefa/comments/90225.html</wfw:comment><comments>http://www.blogjava.net/kelefa/archive/2006/12/27/90225.html#Feedback</comments><slash:comments>7</slash:comments><wfw:commentRss>http://www.blogjava.net/kelefa/comments/commentRss/90225.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kelefa/services/trackbacks/90225.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一般主动告警系统的告警信息采集主要有5种方法:   1. 在告警服务器ping各种设备, 判断设备是否存活和掉包率 2. 接收设备发过来的系统日志(syslog), 并通过相应的规则库(正则表达式)匹配判断是否需要告警 3. 接收设备发过来的snmp Trap信息, 进行判断告警 4. 提取网管系统的告警信息 5. 通过snmp协议, 取回相应oid的值, 进行判断告警  什么是snmp:  Si...&nbsp;&nbsp;<a href='http://www.blogjava.net/kelefa/archive/2006/12/27/90225.html'>阅读全文</a><img src ="http://www.blogjava.net/kelefa/aggbug/90225.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kelefa/" target="_blank">杨杰荣</a> 2006-12-27 09:50 <a href="http://www.blogjava.net/kelefa/archive/2006/12/27/90225.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>派生WebworkTypeConverter实现Date的类型转换</title><link>http://www.blogjava.net/kelefa/archive/2006/07/13/DateConverter.html</link><dc:creator>杨杰荣</dc:creator><author>杨杰荣</author><pubDate>Thu, 13 Jul 2006 07:07:00 GMT</pubDate><guid>http://www.blogjava.net/kelefa/archive/2006/07/13/DateConverter.html</guid><wfw:comment>http://www.blogjava.net/kelefa/comments/57987.html</wfw:comment><comments>http://www.blogjava.net/kelefa/archive/2006/07/13/DateConverter.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/kelefa/comments/commentRss/57987.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kelefa/services/trackbacks/57987.html</trackback:ping><description><![CDATA[
		<span style="COLOR: #0000ff">
				<font color="#000000">用webwork的datepicker时, 如果格式是</font>"%Y-%m-%d"<font color="#000000">工作很正常, 但是有些格式需要带上时间的:<br /></font>"%Y-%m-%d %H:%M"<font color="#000000">, 这时用webwork默认的类型转换就不行了,需要自己实现, 根据javaeye论坛某高手的建议用正则表达式来判断form传过来的日期字符串是<font color="#0000ff">"%Y-%m-%d"</font>还是</font><font color="#0000ff">"%Y-%m-%d %H:%M"<font color="#000000">,再用相应的</font>SimpleDateFormat</font><font color="#000000">来parse分析字符串生成Date对象, 代码如下:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.text.ParseException;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.text.SimpleDateFormat;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.util.Date;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> java.util.Map;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> org.apache.log4j.Logger;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">import</span><span style="COLOR: #000000"> com.opensymphony.webwork.util.WebWorkTypeConverter;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> DateConverter<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        </span><span style="COLOR: #0000ff">extends</span><span style="COLOR: #000000"> WebWorkTypeConverter<br /><img id="Codehighlighter1_266_1899_Open_Image" onclick="this.style.display='none'; Codehighlighter1_266_1899_Open_Text.style.display='none'; Codehighlighter1_266_1899_Closed_Image.style.display='inline'; Codehighlighter1_266_1899_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_266_1899_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_266_1899_Closed_Text.style.display='none'; Codehighlighter1_266_1899_Open_Image.style.display='inline'; Codehighlighter1_266_1899_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" /></span><span id="Codehighlighter1_266_1899_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" /></span><span id="Codehighlighter1_266_1899_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> Logger log </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> Logger.getLogger( DateConverter.</span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> String regex_time </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">[0-9]{2,4}-[0-9]{1,2}-[0-9]{1,2} [0-9]{1,2}:[0-9]{1,2}</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> SimpleDateFormat sdf_time </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> SimpleDateFormat(<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">yyyy-MM-dd HH:mm</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> String regex_date </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">[0-9]{2,4}-[0-9]{1,2}-[0-9]{1,2}</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">final</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> SimpleDateFormat sdf_date </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> SimpleDateFormat(<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">yyyy-MM-dd</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    @Override </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> Object convertFromString( Map context, String[] values,<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            Class toClass )<br /><img id="Codehighlighter1_809_1289_Open_Image" onclick="this.style.display='none'; Codehighlighter1_809_1289_Open_Text.style.display='none'; Codehighlighter1_809_1289_Closed_Image.style.display='inline'; Codehighlighter1_809_1289_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_809_1289_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_809_1289_Closed_Text.style.display='none'; Codehighlighter1_809_1289_Open_Image.style.display='inline'; Codehighlighter1_809_1289_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_809_1289_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" /></span><span id="Codehighlighter1_809_1289_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> ( values.length </span><span style="COLOR: #000000">==</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"> )<br /><img id="Codehighlighter1_841_1010_Open_Image" onclick="this.style.display='none'; Codehighlighter1_841_1010_Open_Text.style.display='none'; Codehighlighter1_841_1010_Closed_Image.style.display='inline'; Codehighlighter1_841_1010_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_841_1010_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_841_1010_Closed_Text.style.display='none'; Codehighlighter1_841_1010_Open_Image.style.display='inline'; Codehighlighter1_841_1010_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_841_1010_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" /></span><span id="Codehighlighter1_841_1010_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            Date date </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_874_918_Open_Image" onclick="this.style.display='none'; Codehighlighter1_874_918_Open_Text.style.display='none'; Codehighlighter1_874_918_Closed_Image.style.display='inline'; Codehighlighter1_874_918_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_874_918_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_874_918_Closed_Text.style.display='none'; Codehighlighter1_874_918_Open_Image.style.display='inline'; Codehighlighter1_874_918_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span id="Codehighlighter1_874_918_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" /></span><span id="Codehighlighter1_874_918_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                date </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> convertToDate( values[</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">] );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> ( ParseException e )<br /><img id="Codehighlighter1_953_990_Open_Image" onclick="this.style.display='none'; Codehighlighter1_953_990_Open_Text.style.display='none'; Codehighlighter1_953_990_Closed_Image.style.display='inline'; Codehighlighter1_953_990_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_953_990_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_953_990_Closed_Text.style.display='none'; Codehighlighter1_953_990_Open_Image.style.display='inline'; Codehighlighter1_953_990_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span id="Codehighlighter1_953_990_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" /></span><span id="Codehighlighter1_953_990_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                log.warn( e.getMessage() );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> date;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        Date[] results </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> Date[values.length];<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000"> ( </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; i </span><span style="COLOR: #000000">&lt;</span><span style="COLOR: #000000"> values.length; i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000"> )<br /><img id="Codehighlighter1_1104_1267_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1104_1267_Open_Text.style.display='none'; Codehighlighter1_1104_1267_Closed_Image.style.display='inline'; Codehighlighter1_1104_1267_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1104_1267_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1104_1267_Closed_Text.style.display='none'; Codehighlighter1_1104_1267_Open_Image.style.display='inline'; Codehighlighter1_1104_1267_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_1104_1267_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" /></span><span id="Codehighlighter1_1104_1267_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            String value </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> values[i];<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">try</span><span style="COLOR: #000000"><br /><img id="Codehighlighter1_1145_1191_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1145_1191_Open_Text.style.display='none'; Codehighlighter1_1145_1191_Closed_Image.style.display='inline'; Codehighlighter1_1145_1191_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1145_1191_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1145_1191_Closed_Text.style.display='none'; Codehighlighter1_1145_1191_Open_Image.style.display='inline'; Codehighlighter1_1145_1191_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span id="Codehighlighter1_1145_1191_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" /></span><span id="Codehighlighter1_1145_1191_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                results[i] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> convertToDate( value );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">catch</span><span style="COLOR: #000000"> ( ParseException e )<br /><img id="Codehighlighter1_1226_1263_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1226_1263_Open_Text.style.display='none'; Codehighlighter1_1226_1263_Closed_Image.style.display='inline'; Codehighlighter1_1226_1263_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1226_1263_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1226_1263_Closed_Text.style.display='none'; Codehighlighter1_1226_1263_Open_Image.style.display='inline'; Codehighlighter1_1226_1263_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span id="Codehighlighter1_1226_1263_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" /></span><span id="Codehighlighter1_1226_1263_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                log.warn( e.getMessage() );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> results;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">private</span><span style="COLOR: #000000"> Date convertToDate( String value )<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">throws</span><span style="COLOR: #000000"> ParseException<br /><img id="Codehighlighter1_1362_1530_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1362_1530_Open_Text.style.display='none'; Codehighlighter1_1362_1530_Closed_Image.style.display='inline'; Codehighlighter1_1362_1530_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1362_1530_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1362_1530_Closed_Text.style.display='none'; Codehighlighter1_1362_1530_Open_Image.style.display='inline'; Codehighlighter1_1362_1530_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_1362_1530_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" /></span><span id="Codehighlighter1_1362_1530_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> ( value.matches( regex_time ) )<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> sdf_time.parse( value );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">else</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> ( value.matches( regex_date ) )<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> sdf_date.parse( value );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">null</span><span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    @Override </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> String convertToString( Map context, Object o )<br /><img id="Codehighlighter1_1600_1722_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1600_1722_Open_Text.style.display='none'; Codehighlighter1_1600_1722_Closed_Image.style.display='inline'; Codehighlighter1_1600_1722_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1600_1722_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1600_1722_Closed_Text.style.display='none'; Codehighlighter1_1600_1722_Open_Image.style.display='inline'; Codehighlighter1_1600_1722_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_1600_1722_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" /></span><span id="Codehighlighter1_1600_1722_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">if</span><span style="COLOR: #000000"> ( o </span><span style="COLOR: #0000ff">instanceof</span><span style="COLOR: #000000"> Date )<br /><img id="Codehighlighter1_1631_1695_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1631_1695_Open_Text.style.display='none'; Codehighlighter1_1631_1695_Closed_Image.style.display='inline'; Codehighlighter1_1631_1695_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1631_1695_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1631_1695_Closed_Text.style.display='none'; Codehighlighter1_1631_1695_Open_Image.style.display='inline'; Codehighlighter1_1631_1695_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_1631_1695_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" /></span><span id="Codehighlighter1_1631_1695_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            Date date </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (Date) o;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> sdf_time.format( date );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> o.toString();<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" /><br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />    </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">void</span><span style="COLOR: #000000"> main( String[] args )<br /><img id="Codehighlighter1_1768_1897_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1768_1897_Open_Text.style.display='none'; Codehighlighter1_1768_1897_Closed_Image.style.display='inline'; Codehighlighter1_1768_1897_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_1768_1897_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_1768_1897_Closed_Text.style.display='none'; Codehighlighter1_1768_1897_Open_Image.style.display='inline'; Codehighlighter1_1768_1897_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />    </span><span id="Codehighlighter1_1768_1897_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" /></span><span id="Codehighlighter1_1768_1897_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println( </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">2006-07-11</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.matches( regex_date ) );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        System.out.println( </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">2006-07-11 00:21</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">.matches( regex_time ) );<br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />}</span></span></div></font></span>
		<br />要让这个类来代替webwork默认的转换你还需要在classpath目录, 一般就是classes目录放置配置文件<br />xwork-conversion.properties:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">java.util.Date</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">DateConverter</span></div><br />这种方法是对整个application起作用,.<br />如果要只对单个action起作用, 在action同一个package写一个ActionClassName-conversion.properties:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">startDate</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">DateConverter</span></div><img src ="http://www.blogjava.net/kelefa/aggbug/57987.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kelefa/" target="_blank">杨杰荣</a> 2006-07-13 15:07 <a href="http://www.blogjava.net/kelefa/archive/2006/07/13/DateConverter.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>webwork的datepicker标签</title><link>http://www.blogjava.net/kelefa/archive/2006/07/13/datepicker.html</link><dc:creator>杨杰荣</dc:creator><author>杨杰荣</author><pubDate>Thu, 13 Jul 2006 06:32:00 GMT</pubDate><guid>http://www.blogjava.net/kelefa/archive/2006/07/13/datepicker.html</guid><wfw:comment>http://www.blogjava.net/kelefa/comments/57976.html</wfw:comment><comments>http://www.blogjava.net/kelefa/archive/2006/07/13/datepicker.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/kelefa/comments/commentRss/57976.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kelefa/services/trackbacks/57976.html</trackback:ping><description><![CDATA[
		<p>近日研究使用webwork(版本:2.2.1)的datepicker标签, 它用<a href="http://www.dynarch.com/projects/calendar/">jscalendar</a>来实现, 使用非常简单:</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">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #0000ff">&lt;</span>
				<span style="COLOR: #800000">ww:datepicker </span>
				<span style="COLOR: #ff0000">cssClass</span>
				<span style="COLOR: #0000ff">="ListBox"</span>
				<span style="COLOR: #ff0000"> size</span>
				<span style="COLOR: #0000ff">="16"</span>
				<span style="COLOR: #ff0000"> showstime</span>
				<span style="COLOR: #0000ff">="true"</span>
				<span style="COLOR: #ff0000"> name</span>
				<span style="COLOR: #0000ff">="start"</span>
				<span style="COLOR: #ff0000"> id</span>
				<span style="COLOR: #0000ff">="start"</span>
				<span style="COLOR: #ff0000"> format</span>
				<span style="COLOR: #0000ff">="%Y-%m-%d %H:%M"</span>
				<span style="COLOR: #ff0000"> </span>
				<span style="COLOR: #0000ff">/&gt;</span>
		</div>
		<br />显示页面总说js错误, 什么什么对象没有定义之类的, 具体忘记了, 查看网页源代码发现它需要3个js文件:<br /><br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="text/javascript"</span><span style="COLOR: #ff0000"> src</span><span style="COLOR: #0000ff">="/webwork/jscalendar/calendar.js"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="text/javascript"</span><span style="COLOR: #ff0000"> src</span><span style="COLOR: #0000ff">="/webwork/jscalendar/lang/calendar-ch.js"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #0000ff">&lt;</span><span style="COLOR: #800000">script </span><span style="COLOR: #ff0000">type</span><span style="COLOR: #0000ff">="text/javascript"</span><span style="COLOR: #ff0000"> src</span><span style="COLOR: #0000ff">="/webwork/jscalendar/calendar-setup.js"</span><span style="COLOR: #0000ff">&gt;&lt;/</span><span style="COLOR: #800000">script</span><span style="COLOR: #0000ff">&gt;</span></div><br />用winRAR打开webwork-2.2.1.jar发现com\opensymphony\webwork\static\jscalendar\lang 目录并没有<font color="#0000ff">calendar-ch.js</font><font color="#000000">文件,倒是有一个</font><font color="#0000ff">calendar-zh.js</font><font color="#000000">文件, 不晓得是怎么回事, 小弟对i18n没有研究, 估计是webwork的一个bug吧,发现有两个解决方法:<br />1.把</font><font color="#0000ff">calendar-zh.js<font color="#000000">改名为</font>calendar-ch.js, <font color="#000000">或把</font>calendar-zh.js<font color="#000000">另存为</font>calendar-ch.js, </font><font color="#000000">然后重新打包</font><font color="#000000">webwork-2.2.1.jar<br />2.假设你的webwork.properties有这样的设置:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">### Standard UI theme<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />### Change this to reflect which path should be used for JSP control tag templates by default<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />webwork.ui.theme</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">xhtml<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />webwork.ui.templateDir</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">template<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />#sets the default template type. Either ftl</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> vm</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> or jsp<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />webwork.ui.templateSuffix</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">ftl</span></div></font>修改/template/xhtml/datepicker.ftl:<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000">&lt;#if !stack.findValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">#datepicker_js_included</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">)?exists&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;#assign trash </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> stack.setValue(</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">#datepicker_js_included</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"> true)/&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;script type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text/javascript</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> src</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;@ww.url value=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/webwork/jscalendar/</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> encode='false'/&gt;calendar.js</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;&lt;/script&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;script type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text/javascript</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> src</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;@ww.url value=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/webwork/jscalendar/lang/</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> encode='false'/&gt;calendar-zh.js</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;&lt;/script&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;script type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text/javascript</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> src</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&lt;@ww.url value=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/webwork/jscalendar/</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> encode='false'/&gt;calendar-setup.js</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;&lt;/script&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;/#if&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;#include </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">/${parameters.templateDir}/simple/text.ftl</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> /&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;a href</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">#</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> id</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">${parameters.id}_button</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;&lt;img src</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">../images/pdate.gif</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> width</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> height</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">16</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> border</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000"> alt</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">点击这里选择日期</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;&lt;/a&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;script type</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">text/javascript</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    Calendar.setup({<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        inputField     :    </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">${parameters.id}</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;#if parameters.format?exists&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        ifFormat       :    </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">${parameters.format}</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;/#if&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;#if parameters.showstime?exists&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        showsTime      :    </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">${parameters.showstime}</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;/#if&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        button         :    </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">${parameters.id}_button</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;#if parameters.singleclick?exists&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        singleclick    :    ${parameters.singleclick}</span><span style="COLOR: #000000">,</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />&lt;/#if&gt;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />        step           :    </span><span style="COLOR: #000000">1</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />    })</span><span style="COLOR: #008000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">&lt;/script&gt;</span></div>其实就是把calendar-${parameters.language?default("en")}.js修改成calendar-zh.js<img src ="http://www.blogjava.net/kelefa/aggbug/57976.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kelefa/" target="_blank">杨杰荣</a> 2006-07-13 14:32 <a href="http://www.blogjava.net/kelefa/archive/2006/07/13/datepicker.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>基于hiberbate的工程部署到ms SqlServer的问题</title><link>http://www.blogjava.net/kelefa/archive/2006/07/03/56315.html</link><dc:creator>杨杰荣</dc:creator><author>杨杰荣</author><pubDate>Mon, 03 Jul 2006 05:36:00 GMT</pubDate><guid>http://www.blogjava.net/kelefa/archive/2006/07/03/56315.html</guid><wfw:comment>http://www.blogjava.net/kelefa/comments/56315.html</wfw:comment><comments>http://www.blogjava.net/kelefa/archive/2006/07/03/56315.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/kelefa/comments/commentRss/56315.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kelefa/services/trackbacks/56315.html</trackback:ping><description><![CDATA[一个使用webwork和hibernate的项目一直用mysql做为数据库，一直工作正常，但是最近改用ms SqlServer时发现了两个问题：<br /><br />1。在mysql用“user”作为一个表的表名，但是在SqlServer中“user”也许是个保留关键字，创建表失败，<br />      只好改成“Tuser”才ok；<br /><br />2。由于大意，程序中有这一个hql：<br />            from Device device group by device.ip, device.name<br />      在mysql中正常，但是在SqlServer抛出异常，改成这样就ok了：<br />            from Device device order by device.ip, device.name<br /><br /><img src ="http://www.blogjava.net/kelefa/aggbug/56315.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kelefa/" target="_blank">杨杰荣</a> 2006-07-03 13:36 <a href="http://www.blogjava.net/kelefa/archive/2006/07/03/56315.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在java程序里telnet到远端设备执行命令</title><link>http://www.blogjava.net/kelefa/archive/2006/06/30/56056.html</link><dc:creator>杨杰荣</dc:creator><author>杨杰荣</author><pubDate>Fri, 30 Jun 2006 15:52:00 GMT</pubDate><guid>http://www.blogjava.net/kelefa/archive/2006/06/30/56056.html</guid><wfw:comment>http://www.blogjava.net/kelefa/comments/56056.html</wfw:comment><comments>http://www.blogjava.net/kelefa/archive/2006/06/30/56056.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/kelefa/comments/commentRss/56056.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/kelefa/services/trackbacks/56056.html</trackback:ping><description><![CDATA[        kelefa是某公司的一个程序员，传说他是一流的程序员，开发了一个系统非常稳定，从来没有出现过问题，当然这世界上没有完美的人，也没有完美的软件，这个系统也有bug，而且他已经发现了，但是一直没有找到很好的办法解决，还好这个bug很少有机会能发作，关键是一发生这种情况时严重影响系统的运行，停止服务后再重新启动是目前最好的方法。<br /><br />        为了保住“高手”的称号，他又搞了一个监控该系统的小程序，能及时发现系统是否工作正常，如果发现异常情况立刻发送email给自己，email又跟自己的手机短信绑定，使他能迅速的发现情况并跑到电脑前：<br /><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #008000">//</span><span style="COLOR: #008000">telnet进来后</span><span style="COLOR: #008000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span><span style="COLOR: #000000">[root@kelefa root]$ su </span><span style="COLOR: #000000">-</span><span style="COLOR: #000000"><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />[root@kelefa root]$ password <br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />[root@kelefa root]# cd </span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">usr</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">local</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">resin</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">3.0</span><span style="COLOR: #000000">.</span><span style="COLOR: #000000">14</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">bin<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />[root@kelefa bin]# .<span style="COLOR: #000000">/</span><span style="COLOR: #000000">httpd.sh  stop</span><br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />[root@kelefa bin]# .</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">httpd.sh  start</span></div><br />一切又正常了，1分钟内搞定，一流程序员再次得到验证，可是email有时会发送失败，sp的短信也不是绝对的正常，而且每个月还给n元大洋给sp，万一收到告警短信旁边没有电脑也无能为力。<br /><br />        终于发现更好的方法：在监控程序里直接telnet到设备上进行操作，动手前当然要看看有什么开源的可以利用，它就是Jakarta的Commons Net，这个包支持ftp，telnet，pop3，smtp，nntp等协议。<br /><br />        首先实现一个telnet的基类，它有个connectAndDocommad()的方法，实现链接到指定的设备上，并启动一个线程执行一个模板方法（某设计模式）：<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"><p><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #000000"><br /><span style="COLOR: #008000">   //</span> 登陆<br />   log.debug( "login................" );<br />   if ( false == login() )<br />   {<br />    String msg = new Date().toString() + " telnet登陆不成功，ip：" + remoteip;<br />    log.warn( msg );<br />    SyslogUtil.send( msg );<br />    return;<br />   }</span></p><p><span style="COLOR: #000000">   log.debug( "doCommand................" );<br />   // 抽象方法<br />   doCommand();</span></p><p><span style="COLOR: #000000">   // 退出<br />   log.debug( "exit................" );<br />   exit();</span></p></div><br />        其次类RestartTask继承该抽象类，实现doCommand()抽象方法，往输出流发送操作命令，实现重启：<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"><p><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="COLOR: #008000"><font style="BACKGROUND-COLOR: #eeeeee" color="#000000">@Override protected void doCommand()<br /> {<br />  log.debug( "resin restart................" );<br />  try<br />  {<br />     writeLine("su -");     <br />     writeLine("password"); <br />     writeLine("cd /usr/local/resin-3.0.14/bin");<br />     writeLine("./httpd.sh  stop");<br />     writeLine("./httpd.sh  start");<br /><br />     readResult();<br /></font></span><span style="COLOR: #008000"><font style="BACKGROUND-COLOR: #eeeeee" color="#000000">  }<br />  catch ( IOException e )<br />  {<br />   log.warn( e.getMessage() );<br />  }<br /> }</font></span></p></div><br />以上为伪代码，需要实现一些子方法， 如有雷同，纯属虚构！<img src ="http://www.blogjava.net/kelefa/aggbug/56056.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/kelefa/" target="_blank">杨杰荣</a> 2006-06-30 23:52 <a href="http://www.blogjava.net/kelefa/archive/2006/06/30/56056.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>