http://www.cnblogs.com/fll/archive/2008/06/02/1212479.html http://www.cnblogs.com/fll/archive/2008/06/02/1212487.html http://www.cnblogs.com/fll/archive/2008/06/10/1217013.html