kelefa  
大千世界中,唯一缺乏的就是人类的注意力。
日历
<2006年7月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345
统计
  • 随笔 - 11
  • 文章 - 0
  • 评论 - 28
  • 引用 - 0

导航

常用链接

留言簿(2)

随笔分类

随笔档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

 

2006年7月3日

在linux下用rm删除大量文件时会出现这个错误:

   rm -rf 'wz-a1.2007-02*'
rm -rf * -bash: /bin/rm: 参数列表过长

经过google, 发现这个方法, 特记下来, 以防以后忘记

find . -name "wz-a1.2007-02*" | xargs rm -rf 'wz-a1.2007-02*'
posted @ 2007-02-02 14:24 杨杰荣 阅读(1178) | 评论 (0)编辑 收藏
 
     摘要: 在某个项目中,经过几个同事的修改, 最终得到这个支持分页的action基类, 使用非常简单:1. 在写action类时把派生ActionSupport类改成派生这个PaginationSupportAction类2. 实现这两个抽象方法, 其中doExecute方法就是你原来的execute方法的代码, queryCount()返回符合条件的记录数    /** *//**     * just ...  阅读全文
posted @ 2006-12-28 08:46 杨杰荣 阅读(2719) | 评论 (10)编辑 收藏
 
1。通过cmpp协议接收短信不是在自己的服务器的7910端口监听,而是链接到移动短信服务器的7910端口 2。短信内容的长度是byte的类型,8个字节,应该是无符号的,但是java的byte是有符号的,所以最大值是127,当大于127时长度就小于0了,所以这两天一直郁闷为什么发长短信就死在那里,解决: bytetmpLen=in.readByte(); msg_
文章来源:http://www.yourblog.org/Data/20054/249969.html
posted @ 2006-12-27 11:35 杨杰荣 阅读(711) | 评论 (1)编辑 收藏
 
packagecom.kelefa.glidewindow; importjava.util.HashMap; importjava.util.LinkedHashMap; importjava.util.Map; /** *滑动窗口. *有些工作(例如网络通信)需要回应,但不需要一个一个的等待回应,可并发的进行,但需要控制流量, *滑动窗口是比较好的方法
文章来源:http://www.yourblog.org/Data/20054/250650.html
posted @ 2006-12-27 11:35 杨杰荣 阅读(475) | 评论 (0)编辑 收藏
 
     摘要: 不知道是自己对hibernate不了解,用的不对, 还是db2版本问题, 以前的一个项目用到db2, hibernate, 以为hibernate已经帮我们做好分页的一切事情,只要用就行了, 代码大概如下:    /** *//**     * 设置分页, pageNo或pageList<=0时返回所有记录     *      * @param pageNo     *          ...  阅读全文
posted @ 2006-12-27 11:17 杨杰荣 阅读(3898) | 评论 (3)编辑 收藏
 
     摘要: 一般主动告警系统的告警信息采集主要有5种方法:   1. 在告警服务器ping各种设备, 判断设备是否存活和掉包率 2. 接收设备发过来的系统日志(syslog), 并通过相应的规则库(正则表达式)匹配判断是否需要告警 3. 接收设备发过来的snmp Trap信息, 进行判断告警 4. 提取网管系统的告警信息 5. 通过snmp协议, 取回相应oid的值, 进行判断告警  什么是snmp:  Si...  阅读全文
posted @ 2006-12-27 09:50 杨杰荣 阅读(5428) | 评论 (7)编辑 收藏
 
用webwork的datepicker时, 如果格式是"%Y-%m-%d"工作很正常, 但是有些格式需要带上时间的:
"%Y-%m-%d %H:%M", 这时用webwork默认的类型转换就不行了,需要自己实现, 根据javaeye论坛某高手的建议用正则表达式来判断form传过来的日期字符串是"%Y-%m-%d"还是"%Y-%m-%d %H:%M",再用相应的SimpleDateFormat来parse分析字符串生成Date对象, 代码如下:

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import org.apache.log4j.Logger;

import com.opensymphony.webwork.util.WebWorkTypeConverter;

public class DateConverter
        
extends WebWorkTypeConverter
{
    
private static final Logger log = Logger.getLogger( DateConverter.class );

    
private final static String regex_time = "[0-9]{2,4}-[0-9]{1,2}-[0-9]{1,2} [0-9]{1,2}:[0-9]{1,2}";

    
private final static SimpleDateFormat sdf_time = new SimpleDateFormat(
            
"yyyy-MM-dd HH:mm" );

    
private final static String regex_date = "[0-9]{2,4}-[0-9]{1,2}-[0-9]{1,2}";

    
private final static SimpleDateFormat sdf_date = new SimpleDateFormat(
            
"yyyy-MM-dd" );

    @Override 
public Object convertFromString( Map context, String[] values,
            Class toClass )
    
{
        
if ( values.length == 1 )
        
{
            Date date 
= null;
            
try
            
{
                date 
= convertToDate( values[0] );
            }

            
catch ( ParseException e )
            
{
                log.warn( e.getMessage() );
            }

            
return date;
        }


        Date[] results 
= new Date[values.length];

        
for ( int i = 0; i < values.length; i++ )
        
{
            String value 
= values[i];
            
try
            
{
                results[i] 
= convertToDate( value );
            }

            
catch ( ParseException e )
            
{
                log.warn( e.getMessage() );
            }

        }


        
return results;
    }


    
private Date convertToDate( String value )
            
throws ParseException
    
{
        
if ( value.matches( regex_time ) )
            
return sdf_time.parse( value );
        
else if ( value.matches( regex_date ) )
            
return sdf_date.parse( value );

        
return null;
    }


    @Override 
public String convertToString( Map context, Object o )
    
{
        
if ( o instanceof Date )
        
{
            Date date 
= (Date) o;
            
return sdf_time.format( date );
        }


        
return o.toString();
    }


    
public static void main( String[] args )
    
{
        System.out.println( 
"2006-07-11".matches( regex_date ) );
        System.out.println( 
"2006-07-11 00:21".matches( regex_time ) );
    }

}

要让这个类来代替webwork默认的转换你还需要在classpath目录, 一般就是classes目录放置配置文件
xwork-conversion.properties:
java.util.Date=DateConverter

这种方法是对整个application起作用,.
如果要只对单个action起作用, 在action同一个package写一个ActionClassName-conversion.properties:
startDate=DateConverter
posted @ 2006-07-13 15:07 杨杰荣 阅读(895) | 评论 (0)编辑 收藏
 

近日研究使用webwork(版本:2.2.1)的datepicker标签, 它用jscalendar来实现, 使用非常简单:

< ww:datepicker  cssClass ="ListBox"  size ="16"  showstime ="true"  name ="start"  id ="start"  format ="%Y-%m-%d %H:%M"   />

显示页面总说js错误, 什么什么对象没有定义之类的, 具体忘记了, 查看网页源代码发现它需要3个js文件:

<script type="text/javascript" src="/webwork/jscalendar/calendar.js"></script>
<script type="text/javascript" src="/webwork/jscalendar/lang/calendar-ch.js"></script>
<script type="text/javascript" src="/webwork/jscalendar/calendar-setup.js"></script>

用winRAR打开webwork-2.2.1.jar发现com\opensymphony\webwork\static\jscalendar\lang 目录并没有calendar-ch.js文件,倒是有一个calendar-zh.js文件, 不晓得是怎么回事, 小弟对i18n没有研究, 估计是webwork的一个bug吧,发现有两个解决方法:
1.把
calendar-zh.js改名为calendar-ch.js, 或把calendar-zh.js另存为calendar-ch.js, 然后重新打包webwork-2.2.1.jar
2.假设你的webwork.properties有这样的设置:
### Standard UI theme
### Change this to reflect which path should be used for JSP control tag templates by default
webwork.ui.theme
=xhtml
webwork.ui.templateDir
=template
#sets the default template type. Either ftl
, vm, or jsp
webwork.ui.templateSuffix
=ftl
修改/template/xhtml/datepicker.ftl:
<#if !stack.findValue("#datepicker_js_included")?exists>
<#assign trash 
= stack.setValue("#datepicker_js_included", true)/>
<script type
="text/javascript" src="<@ww.url value="/webwork/jscalendar/" encode='false'/>calendar.js"></script>
<script type
="text/javascript" src="<@ww.url value="/webwork/jscalendar/lang/" encode='false'/>calendar-zh.js"></script>
<script type
="text/javascript" src="<@ww.url value="/webwork/jscalendar/" encode='false'/>calendar-setup.js"></script>
</#if>
<#include 
"/${parameters.templateDir}/simple/text.ftl" />
<a href
="#" id="${parameters.id}_button"><img src="../images/pdate.gif" width="16" height="16" border="0" alt="点击这里选择日期"></a>
<script type
="text/javascript">
    Calendar.setup({
        inputField     :    
"${parameters.id}",
<#if parameters.format?exists>
        ifFormat       :    
"${parameters.format}",
</#if>
<#if parameters.showstime?exists>
        showsTime      :    
"${parameters.showstime}",
</#if>
        button         :    
"${parameters.id}_button",
<#if parameters.singleclick?exists>
        singleclick    :    ${parameters.singleclick}
,
</#if>
        step           :    
1
    })
;
</script>
其实就是把calendar-${parameters.language?default("en")}.js修改成calendar-zh.js
posted @ 2006-07-13 14:32 杨杰荣 阅读(2168) | 评论 (1)编辑 收藏
 
一个使用webwork和hibernate的项目一直用mysql做为数据库,一直工作正常,但是最近改用ms SqlServer时发现了两个问题:

1。在mysql用“user”作为一个表的表名,但是在SqlServer中“user”也许是个保留关键字,创建表失败,
      只好改成“Tuser”才ok;

2。由于大意,程序中有这一个hql:
            from Device device group by device.ip, device.name
      在mysql中正常,但是在SqlServer抛出异常,改成这样就ok了:
            from Device device order by device.ip, device.name

posted @ 2006-07-03 13:36 杨杰荣 阅读(562) | 评论 (1)编辑 收藏
 
Copyright © 杨杰荣 Powered by: 博客园 模板提供:沪江博客