• 奇怪了,功能这么强大的IDE居然没有这个功能,还要安装插件,地址为http://ahtik.com/eclipse-update/,没想到啊。

    相关链接:Eclipse中的换行

     

  • 原文地址:基于Converter解决Struts无法处理日期类型的问题

    造成Struts处理日期类型数据的问题,根本原因是BeanUtils里面,只内置了对java.sql.Date的转换器,而没有对java.util.Date的转换器。使用Converter,还是需要对Apahce的BeanUtils的类库做比较多的了解,一般人图省事,就把变量类型都换成String了。

    下面是DateConverter的一个例子,把它注册到ConvertUtils里面就行了:ConvertUtils.register(new DateConverter(), Date.class)

    package zizz.struts;

    import java.text.SimpleDateFormat;
    import org.apache.commons.beanutils.Converter;
    import java.util.Set;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.text.ParseException;

    /**
    *
    * 日期转换对象,使用该转换器,在BaseForm当中做一下注册,系统自动地帮助字符的日期表示转换为java.util.Date对象.
    * @author zizz.
    * Create Time:2006-9-11 19:11:47.
    */

    public class DateConverter implements Converter {
        /**
         * 日期格式化对象.
         */

        private static SimpleDateFormat df = new SimpleDateFormat();
        
        /**
         * 模式集合.
         */

        private static Set<String> patterns = new HashSet<String>();
        //注册一下日期的转换格式
        static{
            DateConverter.patterns.add("yyyy-MM-dd");
            DateConverter.patterns.add("yyyy-MM-dd HH:mm");
            DateConverter.patterns.add("yyyy-MM-dd HH:mm:ss");
            DateConverter.patterns.add("yyyy/MM/dd HH:mm:ss");
        }
        
        /**
         * 日期转换器.
         * @param type Class
         * @param value Object
         * return Date Object.
         */

        public Object convert(Class type,Object value){
            if(value == null){
                return null;
            }else if(value instanceof String){
                Object dateObj = null;
                Iterator it = patterns.iterator();
                while(it.hasNext()){
                    try{
                        String pattern = (String)it.next();
                        df.applyPattern(pattern);
                        dateObj = df.parse((String)value);
                        break;
                    }catch(ParseException ex){
                        //do iterator continue
                    }
                }
                return dateObj;
            }else{
                return null;
            }
        }
    }
  • PROPAGATION_REQUIRED -- 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。
    PROPAGATION_SUPPORTS -- 支持当前事务,如果当前没有事务,就以非事务方式执行。
    PROPAGATION_MANDATORY -- 支持当前事务,如果当前没有事务,就抛出异常。
    PROPAGATION_REQUIRES_NEW -- 新建事务,如果当前存在事务,把当前事务挂起。
    PROPAGATION_NOT_SUPPORTED -- 以非事务方式执行操作,如果当前存在事务,就把当前事务挂起。
    PROPAGATION_NEVER -- 以非事务方式执行,如果当前存在事务,则抛出异常。
    PROPAGATION_NESTED -- 如果当前存在事务,则在嵌套事务内执行。如果当前没有事务,则进行与PROPAGATION_REQUIRED类似的操作。

    对照一下,自己以前的理解确实有错误,结果就是单独定义几个没有事务的Service,调用的时候需要嵌入到其他Service方法中,认为这样才能能保证两个Service方法在一个事务里面执行。实际上声明为PROPAGATION_REQUIRED就可以了。

    详细的说明请参见下面的文章:解惑Spring嵌套事务

  • 原始字符字符转义序列数字转义序列
    空格&nbsp; 
    <&lt;&#60;
    >&gt;&#62;
    &&amp;&#38;
    "&quot; 
  • From JavaEye Forum: http://www.javaeye.com/topic/21662

    Preference->Web and Xml->XML Catalog
    右面的Xml Catalog Entries里指向了各种dtd

    你可以在User Specified Entries里添加
    uri里是实际的指向,
    key type选public ID好了
    key 就是xml中用的名字。