http://blog.csdn.net/hellogv/article/details/5955959 http://www.cnblogs.com/and_he/archive/2011/09/16/2178716.html