http://www.cnblogs.com/rubylouvre/archive/2011/08/22/2148797.html http://blog.sina.com.cn/s/blog_6d48e77101018fwd.html