<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>hama</title>
    <description></description>
    <link>http://hama.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>java 如何解码一串不知道编码的字符串</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/216911" style="color:red;">http://hama.javaeye.com/blog/216911</a>&nbsp;
          发表时间: 2008年07月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          一个字符串，即可能是GBK编码的，也可能是UTF-8编码的，用java如何解码？？<br /><br />如果python的话，用错编码去解码大部分情况会报异常，java却不会，怎么办？
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/216911#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 21 Jul 2008 14:31:00 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/216911</link>
        <guid>http://hama.javaeye.com/blog/216911</guid>
      </item>
      <item>
        <title>django custom template tag</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/201600" style="color:red;">http://hama.javaeye.com/blog/201600</a>&nbsp;
          发表时间: 2008年06月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>综合了前面两篇文章(<a href="../201587"><span style="color: #108ac6;">在自定义的Tag和Filter前加上名字空间的限定</span></a>&nbsp;和 <a href="../201584"><span style="color: #108ac6;">在Django中使用自定义Tag创建动态导航栏</span></a>)，</p>
<p>最重要的还是那段源码</p>
<p><span style="background-color: #ffff00;">for a in settings.INSTALLED_APPS:<br />&nbsp;&nbsp;&nbsp; try:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __path__.extend(__import__(a + '.templatetags', '', '', ['']).__path__)<br />&nbsp;&nbsp;&nbsp; except ImportError:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pass</span></p>
<p>&nbsp;</p>
<p><span style="background-color: #ffff00;"><span style="background-color: #ffffff;">因为我只有project（django-admin.py startproject）而没有app（manage.py startapp），所以就没有配置<strong>setting.py</strong>的INSTALLED_APPS，所以即使我在project下建了templatetags文件夹，并把tags放到了它下面，django也 没有找到我的custom tag，解决方法只需要配一下<strong>setting.py</strong>的INSTALLED_APPS</span></span></p>
<p><span style="background-color: #ffff00;"><span style="background-color: #ffffff;">INSTALLED_APPS = ( #'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'shidifen', )</span>
<pre></pre>
<p><span style="background-color: #ffffff;">&nbsp;</span></p>
</span></p>
<p>还有一种方法(<a href="http://www.djangosnippets.org/snippets/342/">http://www.djangosnippets.org/snippets/342/</a>)，但我没有成功</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/201600#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 09 Jun 2008 23:24:30 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/201600</link>
        <guid>http://hama.javaeye.com/blog/201600</guid>
      </item>
      <item>
        <title>在自定义的Tag和Filter前加上名字空间的限定</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/201587" style="color:red;">http://hama.javaeye.com/blog/201587</a>&nbsp;
          发表时间: 2008年06月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><span style="background-color: #ffff00;">Trackback: http://tb.donews.net/TrackBack.aspx?PostId=999030</span></p>
<p>这还不是 <a href="http://www.djangoproject.com/" target="_blank"><span style="color: #0000ff;">django</span></a> 模板的功能，现在是不支持的，那么它是什么意思呢？</p>
<p>在你使用了自已写的 tag 和 filter或者是由其它人写的，你首先要在模板中使用 load 来导入，然后就可以使用了。但这里存在不清晰的情况。你所使用的 tag 和 filter 是没有任何限定前缀的，因此它们就象是内置的一样，以至于对于不熟悉的人来说，你可能看不出这个 tag 或 filter 到底真的是内置的还是第三方提供的。而且还存在这样的问题：如果在不同的 app 下有相同的标签库，你只可能导入其中一个，而另一个将被忽略。因为在原来的 Django 源码中，即使你在 load 时加入了 app 的名字，Django也只认'.'后面的模块名。</p>
<p>因此我提出了如题的增强建议。响应者甚少。不过后来 Ardian 说这个功能还是有意义的，问我或其它人是否可以实现。于是我承担下来，并且提交了一个patch，完成了这一功能。那么，如果这个功能可以在 Django 中使用，你可以这样来使用了：</p>
<blockquote dir="ltr" style="margin-right: 0px;">
<p>｛% load example %｝<br />｛% load testapp.example %｝</p>
</blockquote>
<p>而这次，对于有app的限定不再忽略，而是将存在一个与app相关的字典中。然后在使用时：</p>
<blockquote dir="ltr" style="margin-right: 0px;">
<p>｛% testtag %｝ &lt;---- 这是当前的用法 <br />｛% example.testtag %｝ <br />｛% testapp.example.testtag&nbsp;%｝</p>
</blockquote>
<p>可以看到，在使用tag时，有三种使用形式。如果不加任何名字空间的限定，则象内置的标签一样。但这样如果有重名的，则可能不是你想要的。</p>
<p>对于过滤器也可以如此使用：</p>
<blockquote dir="ltr" style="margin-right: 0px;">
<p>｛｛ "string"|testfilter ｝｝ <br />｛｛ "string"|example.testfilter ｝｝ <br />｛｛ "string"|testapp.example.testfilter ｝｝</p>
</blockquote>
<p>目前这个<a href="http://code.djangoproject.com/ticket/2539">patch</a>还未被接受。我希望它是有用的。</p>
<p>同时在看源码时，发现 Django 在导入app相关的tag库时是这样做的：</p>
<blockquote dir="ltr" style="margin-right: 0px;">
<p>lib = get_library("django.templatetags.%s" % taglib) #有修改<br />parser.add_library(lib)</p>
</blockquote>
<p>也就是说，对于第三方的tag库，它要去django.templatetags下去导入。那么django.templatetags下是什么东西呢？就是 __init__.py和i18n.py文件。这样的做法很奇怪。因为app下的tag库，都是放在app/templatetags目录下的，而怎么可以从django/templatetags下去导入呢。于是再看一看django/templatetags/__init__.py:</p>
<blockquote dir="ltr" style="margin-right: 0px;">
<p><span style="background-color: #ffff00;">for a in settings.INSTALLED_APPS:<br />&nbsp;&nbsp;&nbsp; try:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __path__.extend(__import__(a + '.templatetags', '', '', ['']).__path__)<br />&nbsp;&nbsp;&nbsp; except ImportError:<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pass</span></p>
</blockquote>
<p><span style="background-color: #ffff00;">原来这里有技巧啊。这里首先对所有安装的 app 进行循环，然后得到每一个app下的templatetags的__path__变量(即包的导入路径)，然后将其加到django.templatetags的包路径上去</span>，这样，Python会根据这个路径去搜索。因此，只要把与app相关的tag库的路径加入到django.templatetags的包搜索路径中去，python在通过django.templatetags来导入其它的tag库时，如：django.templatetags.woodlog，只要可以在包搜索路径上找到也是可以成功的。真没有想到还有这样的使用技巧啊</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/201587#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 09 Jun 2008 22:42:00 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/201587</link>
        <guid>http://hama.javaeye.com/blog/201587</guid>
      </item>
      <item>
        <title>在Django中使用自定义Tag创建动态导航栏</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/201584" style="color:red;">http://hama.javaeye.com/blog/201584</a>&nbsp;
          发表时间: 2008年06月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><span style="background-color: #ffff00;">本文出自 &ldquo;</span><a href="http://ddkangfu.blog.51cto.com/"><span style="color: #111100; background-color: #ffff00;">一叶障目</span></a><span style="background-color: #ffff00;">&rdquo; 博客，请务必保留此出处</span><a href="http://ddkangfu.blog.51cto.com/311989/71021"><span style="color: #111100; background-color: #ffff00;">http://ddkangfu.blog.51cto.com/311989/71021</span></a></p>
<p>&nbsp;</p>
<p>在使用Django开发web系统时，通常会去定义一些导航栏来动态的显示当前所在的标签，类似于下面这样的：</p>
<div><img src="http://ddkangfu.blog.51cto.com/attachment/200804/200804111207881554317.jpg" border="0" onclick="window.open(&quot;http://blog.51cto.com/viewpic.php?refimg=&quot; + this.src)" alt="" /></div>
<div><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这个时候我们通常会将这一块定义成一个block，然后再在每个页面中进行扩展，编写和修改起来也是比较麻烦的。我通过在网看了一些高人的代码，发现可以使用自定义Tag来很好的满足这种需求。下面写一Demo，比较简单，有兴趣的同志可以再进一步进行扩展。</div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>1、创建工程和app。</strong>使用django-admin.py startproject DynamicNav命令创建一个名为DynamicNav的Django工程，然后使用manage.py startapp nav在DynamicNav目录中创建一个app。</div>
<div><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>2、创建目录。</strong>在DynamicNav目录中创建一个templates的目录，用来存入模板；在DynamicNav目录下创建一个medias的目录，用来存放静态文件；在DynamicNav/Nav目录下创建一个templatetags的目录，用来存放我们的自定义tag，同时在templatetags目录中创建一个名为__init__.py的文件，用来向Django说明这个目录存放的是源代码。</div>
<div><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>3、创建模板。</strong>在templates目录中创建一个nav.html的模板文件，在这个文件中只是简单的使用CSS+DIV实现了一个导航栏，CSS、DIV的相关知识大家可以去参考基它的文章。以下是该模板的源码：<br />nav.html<br /></div>
<div>
<div style="font-size: 10pt; width: 98%; color: #000000; word-break: break-all; line-height: 16px; font-family: verdana,宋体; background-color: #eeeeee; border: #cccccc 1px solid; padding: 4px;">
<div><span style="color: #0000ff;">&lt;</span>!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"<span style="color: #0000ff;">&gt;</span> <br /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">html</span> <span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">&gt;</span> <br /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span> <br /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">meta</span> <span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span> <span style="color: #ff0000;">content</span><span style="color: #0000ff;">="text/html; charset=utf-8"</span> <span style="color: #0000ff;">/&gt;</span> <br /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;</span>动态导航栏演示<span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;</span></span> <br /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">link</span> <span style="color: #ff0000;">href</span><span style="color: #0000ff;">="/site_media/style.css"</span> <span style="color: #ff0000;">rel</span><span style="color: #0000ff;">="stylesheet"</span> <span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/css"</span> <span style="color: #0000ff;">/&gt;</span> <br /><span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span></span> <br /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">body</span><span style="color: #0000ff;">&gt;</span> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ul</span> <span style="color: #ff0000;">id</span><span style="color: #0000ff;">="nav"</span><span style="color: #0000ff;">&gt;</span> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">a</span> <span style="color: #ff0000;">href</span><span style="color: #0000ff;">="/"</span> <span style="color: #ff0000;">id</span><span style="color: #0000ff;">="current"</span><span style="color: #0000ff;">&gt;</span>首 页<span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span></span> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">a</span> <span style="color: #ff0000;">href</span><span style="color: #0000ff;">="/article/"</span> <span style="color: #0000ff;">&gt;</span>文 章<span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">a</span> <span style="color: #ff0000;">href</span><span style="color: #0000ff;">="/blog/"</span> <span style="color: #0000ff;">&gt;</span>Blog<span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span></span> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">a</span> <span style="color: #ff0000;">href</span><span style="color: #0000ff;">="/forum/"</span> <span style="color: #0000ff;">&gt;</span>论 坛<span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span></span> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">li</span><span style="color: #0000ff;">&gt;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">a</span> <span style="color: #ff0000;">href</span><span style="color: #0000ff;">="/about/"</span> <span style="color: #0000ff;">&gt;</span>联 系<span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">a</span><span style="color: #0000ff;">&gt;</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">li&gt;</span></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ul</span><span style="color: #0000ff;">&gt;</span></span> <br /><span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">body</span><span style="color: #0000ff;">&gt;</span></span> <br /><span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">html</span><span style="color: #0000ff;">&gt;</span></span></div>
</div>
</div>
<div><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这个模板一会还是需要修改的，不要着急~~~。</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在medias目录下创建一个css文件：style.css</div>
<div>
<div style="font-size: 10pt; width: 98%; color: #000000; word-break: break-all; line-height: 16px; font-family: verdana,宋体; background-color: #eeeeee; border: #cccccc 1px solid; padding: 4px;">
<div><span style="color: #800000;">body <br /></span>{<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background-color</span>:<span style="color: #0000ff;">#FFFFFF</span>; <br />}<span style="color: #800000;"> <br /><br />#nav <br /></span>{<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height</span>:<span style="color: #0000ff;">26px</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;border-bottom</span>:<span style="color: #0000ff;">2px solid #ccc</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list-style</span>:<span style="color: #0000ff;">none</span>; <br />}<span style="color: #800000;"> <br /><br />#nav li <br /></span>{<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;float</span>:<span style="color: #0000ff;">left</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-size</span>:<span style="color: #0000ff;">14px</span>; <br />}<span style="color: #800000;"> <br /><br />#nav li a <br /></span>{<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color</span>:<span style="color: #0000ff;">#03b</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text-decoration</span>:<span style="color: #0000ff;">none</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display</span>:<span style="color: #0000ff;">block</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;width</span>:<span style="color: #0000ff;">88px</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height</span>:<span style="color: #0000ff;">19px</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;text-align</span>:<span style="color: #0000ff;">center</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background</span>:<span style="color: #0000ff;">url(bg.gif) no-repeat</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;margin-left</span>:<span style="color: #0000ff;">8px</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;padding-top</span>:<span style="color: #0000ff;">6px</span>; <br />}<span style="color: #800000;"> <br /><br />#nav li a:hover <br /></span>{<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-weight</span>:<span style="color: #0000ff;">bold</span>; <br />}<span style="color: #800000;"> <br /><br />#nav li a#current <br /></span>{<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;background</span>:<span style="color: #0000ff;">url(cur.gif) no-repeat</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;color</span>:<span style="color: #0000ff;">#666</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;font-weight</span>:<span style="color: #0000ff;">bold</span>;<span style="color: #ff0000;"> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;height</span>:<span style="color: #0000ff;">20px</span>; <br />}</div>
</div>
</div>
<div><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这段代码就定义出了下面效果的一个导航栏：</div>
<div><img src="http://ddkangfu.blog.51cto.com/attachment/200804/200804111207881864173.gif" border="0" onclick="window.open(&quot;http://blog.51cto.com/viewpic.php?refimg=&quot; + this.src)" alt="" style="width: 610px;" /></div>
<div><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>4、修改nav/view.py文件。</strong>简单的写一下nav的view.py文件：<br /></div>
<div>
<div style="font-size: 10pt; width: 98%; color: #000000; word-break: break-all; line-height: 16px; font-family: verdana,宋体; background-color: #eeeeee; border: #cccccc 1px solid; padding: 4px;">
<div>#coding=utf-8 <br /><br />from django.shortcuts import render_to_response <br />from django.template import RequestContext <br /><br />def index(request): <br />&nbsp;&nbsp;&nbsp;&nbsp;return render_to_response('nav.html', {}, RequestContext(request)) <br /></div>
</div>
</div>
<div><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 这里是将request作为参数传入模板中。<br /><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5、修改urls.py和setting.py文件。</strong><br />打开urls.py后将其修改成以下内容（偷了个懒，没写那么多页面，所有的链接都使用一个页面）：<br /></div>
<div>
<div style="font-size: 10pt; width: 98%; color: #000000; word-break: break-all; line-height: 16px; font-family: verdana,宋体; background-color: #eeeeee; border: #cccccc 1px solid; padding: 4px;">
<div>from django.conf.urls.defaults import * <br />import settings <br /><br />urlpatterns = patterns('', <br />&nbsp;&nbsp;&nbsp;&nbsp;(r'^$', 'DynamicNav.nav.views.index'), <br />&nbsp;&nbsp;&nbsp;&nbsp;(r'^article/$', 'DynamicNav.nav.views.index'), <br />&nbsp;&nbsp;&nbsp;&nbsp;(r'^blog/$', 'DynamicNav.nav.views.index'), <br />&nbsp;&nbsp;&nbsp;&nbsp;(r'^forum/$', 'DynamicNav.nav.views.index'), <br />&nbsp;&nbsp;&nbsp;&nbsp;(r'^about/$', 'DynamicNav.nav.views.index'), </div>
<div>&nbsp;&nbsp;&nbsp; #define the media url<br />&nbsp;&nbsp;&nbsp;&nbsp;(r'^site_media/(?P&lt;path&gt;.*)$', 'django.views.static.serve', {'document_root' : settings.MEDIA_ROOT}), <br />)</div>
</div>
</div>
<div><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 修改setting.py的N多地方：<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1)添加templates的绝对路径到TEMPLATE_DIRS中。使用下面的语句：<br />os.path.join(os.path.dirname(__file__),'templates').replace('\\','/'),<br />记得要import os哟。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2)将MEDIA_ROOT改成：MEDIA_ROOT = os.path.join(os.path.dirname(__file__),'medias').replace('\\','/')<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3)在INSTALLED_APPS中添加一行'DynamicNav.nav',来安装刚才建的那个APP。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 4)添加Context Processor。在setting.py的最后加上以下内容就OK了：<br /></div>
<div>
<div style="font-size: 10pt; width: 98%; color: #000000; word-break: break-all; line-height: 16px; font-family: verdana,宋体; background-color: #eeeeee; border: #cccccc 1px solid; padding: 4px;">
<div>TEMPLATE_CONTEXT_PROCESSORS = ( <br />&nbsp;&nbsp;&nbsp;&nbsp;"django.core.context_processors.request", <br />&nbsp;&nbsp;&nbsp;&nbsp;"django.core.context_processors.auth", <br />&nbsp;&nbsp;&nbsp;&nbsp;"django.core.context_processors.debug", <br />&nbsp;&nbsp;&nbsp;&nbsp;"django.core.context_processors.i18n", <br />&nbsp;&nbsp;&nbsp;&nbsp; )</div>
</div>
</div>
<div><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OK，现在可以运行一下manage.py runserver，打开<a href="http://127.0.0.1:8000/"></a><a href="http://127.0.0.1:8000/" target="_blank">http://127.0.0.1:8000</a>来看一下运行效果了。</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>6、下面就要进行自定义tag的编写了</strong>，大家可要看好了啊~~<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在nav/templatetags里建一个名为NavTag.py的文件，然后开始修改它：<br /></div>
<div>
<div style="font-size: 10pt; width: 98%; color: #000000; word-break: break-all; line-height: 16px; font-family: verdana,宋体; background-color: #eeeeee; border: #cccccc 1px solid; padding: 4px;">
<div>#coding=utf-8 <br /><br />from django import template <br /><br />#这句是必须滴 <br />register = template.Library() <br /><br />#这个类是用来处理Tag的Node的，逻辑很简单 <br />class NavTagItem(template.Node): <br />&nbsp;&nbsp;&nbsp;&nbsp;def __init__(self, nav_path, nav_displaytext): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.path = nav_path.strip('"') <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.text = nav_displaytext.strip('"') <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;def render(self, context): <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur_path = context['request'].path <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#context['request']是views传入模板中的request对像，可以通过这种方法从上 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#文对象context中取得 <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;current = False <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.path == '/': <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;current = cur_path == '/' <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;current = cur_path.startswith(self.path) <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur_id = '' <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if current: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cur_id = ' id="current" ' <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '&lt;li&gt;&lt;a %s href="%s"&gt;%s&lt;/a&gt;&lt;/li&gt;' % (cur_id, self.path, self.text) <br /><br />#注册tag，函数基本就是这个样子，不怎么会有变化&nbsp;&nbsp;&nbsp;&nbsp; <br />@register.tag <br />def navtagitem(parser, token): <br />&nbsp;&nbsp;&nbsp;&nbsp;try: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tag_name, nav_path, nav_text = token.split_contents() <br />&nbsp;&nbsp;&nbsp;&nbsp;except ValueError: <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise template.TemplateSyntaxError, \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"%r tag requires exactly two arguments: path and text" % \ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;token.split_contents[0] <br />&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;return NavTagItem(nav_path, nav_text)&nbsp;&nbsp;&nbsp;&nbsp;</div>
</div>
</div>
<div><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 7、重新修改nav.html文件。</strong>修改nav.html文件为如下内容：<br /></div>
<div style="font-size: 10pt; width: 98%; color: #000000; word-break: break-all; line-height: 16px; font-family: verdana,宋体; background-color: #eeeeee; border: #cccccc 1px solid; padding: 4px;"><span style="color: #0000ff;">&lt;</span>!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"<span style="color: #0000ff;">&gt;</span> <br /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">html</span> <span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://www.w3.org/1999/xhtml"</span><span style="color: #0000ff;">&gt;</span> <br /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span> <br /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">meta</span> <span style="color: #ff0000;">http-equiv</span><span style="color: #0000ff;">="Content-Type"</span> <span style="color: #ff0000;">content</span><span style="color: #0000ff;">="text/html; charset=utf-8"</span> <span style="color: #0000ff;">/&gt;</span> <br /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;</span>动态导航栏演示<span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">title</span><span style="color: #0000ff;">&gt;</span></span> <br /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">link</span> <span style="color: #ff0000;">href</span><span style="color: #0000ff;">="/site_media/style.css"</span> <span style="color: #ff0000;">rel</span><span style="color: #0000ff;">="stylesheet"</span> <span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/css"</span> <span style="color: #0000ff;">/&gt;</span> <br /><span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">head</span><span style="color: #0000ff;">&gt;</span></span> <br /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">body</span><span style="color: #0000ff;">&gt;</span> <br /><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% load NavTag %}</strong> <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ul</span> <span style="color: #ff0000;">id</span><span style="color: #0000ff;">="nav"</span><span style="color: #0000ff;">&gt;</span> <br /><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% navtagitem / "首 页" %} <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% navtagitem /article/ "文 章" %} <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% navtagitem /blog/ "Blog" %} <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% navtagitem /forum/ "论 坛" %} <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{% navtagitem /about/ "联 系" %}</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ul</span><span style="color: #0000ff;">&gt;</span></span> <br /><span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">body</span><span style="color: #0000ff;">&gt;</span></span> <br /><span style="color: #0000ff;"><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">html</span><span style="color: #0000ff;">&gt;</span></span></div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其中加黑的字为修改的部分<span style="background-color: #ffff00;">。{% load NavTag %}为加载自定义tag文件，Django会自动去app下面的templatetags目录下去查找NavTag.py文件</span>。{% navtagitem / "首 页" %}为使用tag来定义导航栏，因为首页这两个字中间有空格，所以得用双引号把它引起来，如果不引起来的话，就会被Django认为是有三个参数传到了navtagitem标签中，从而产生TemplateSyntaxError。</div>
<div>&nbsp;</div>
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 大功告成！现在我们刷新页面后再次点击各个标签，可以动态的实现改变了，不需要再在各个页面中分别定义导航栏，提高代码的重用性和可维护性。我写的源代码在附件中，有需要的朋友可以下载。大家可以自己进一步研究一下自定义tag的用法，希望以后能和大家多多交流。写得比较快，难免有笔误，请大家多多指教。</div>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/201584#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 09 Jun 2008 22:36:26 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/201584</link>
        <guid>http://hama.javaeye.com/blog/201584</guid>
      </item>
      <item>
        <title>use the request object in django templates</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/201530" style="color:red;">http://hama.javaeye.com/blog/201530</a>&nbsp;
          发表时间: 2008年06月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre><code>
## settings.py
TEMPLATE_CONTEXT_PROCESSORS = (
    'django.core.context_processors.request',
)

## views.py
from django.template import RequestContext

def home(request):
    return render_to_request('home.html', {}, context_instance=RequestContext(request))</code></pre>
<p>&nbsp;</p>
<p><span style="background-color: #ffff00;">but how use the&nbsp;session object in django templates???</span></p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/201530#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 09 Jun 2008 17:47:17 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/201530</link>
        <guid>http://hama.javaeye.com/blog/201530</guid>
      </item>
      <item>
        <title>windows bats</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/201310" style="color:red;">http://hama.javaeye.com/blog/201310</a>&nbsp;
          发表时间: 2008年06月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>重启apache ：</p>
<p>httpd.exe -n "Apache2.2" -k restart</p>
<p>重启mysql：</p>
<p>net stop mysql</p>
<p>net start mysql</p>
<p>启动vpn：</p>
<p>net start openvpnservice</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/201310#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 08 Jun 2008 14:13:38 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/201310</link>
        <guid>http://hama.javaeye.com/blog/201310</guid>
      </item>
      <item>
        <title>nginx</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/201175" style="color:red;">http://hama.javaeye.com/blog/201175</a>&nbsp;
          发表时间: 2008年06月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>douban is using,image server</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/201175#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 07 Jun 2008 15:27:43 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/201175</link>
        <guid>http://hama.javaeye.com/blog/201175</guid>
      </item>
      <item>
        <title>python apache 的整合</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/200463" style="color:red;">http://hama.javaeye.com/blog/200463</a>&nbsp;
          发表时间: 2008年06月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>安装过程就不讲了，看参考文档</p>
<p>主要配置如下：</p>
<pre name="code" class="python">&lt;Location "/"&gt;
    SetHandler python-program
    PythonPath "['E:/develop'] + sys.path"
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE shidifen.settings
    PythonDebug On
&lt;/Location&gt;


Alias /css E:/develop/shidifen/css    
   
&lt;Directory "E:/develop/shidifen/css"&gt;    
    Order allow,deny    
    Allow from all    
&lt;/Directory&gt;    
   
&lt;Location "/css"&gt;    
    SetHandler None    
&lt;/Location&gt;  

Alias /pics E:/develop/shidifen/pics    
   
&lt;Directory "E:/develop/shidifen/pics"&gt;    
    Order allow,deny    
    Allow from all    
&lt;/Directory&gt;    
   
&lt;Location "/pics"&gt;    
    SetHandler None    
&lt;/Location&gt;  
   
&lt;LocationMatch "\.(jpg|gif|png|css|js)$"&gt;    
    SetHandler None    
&lt;/LocationMatch&gt;</pre>
<p>&nbsp;将根目录设置为python解析<br /><span style="background-color: #ffff00;">E:/develop</span> 是我们运行django-admin.py startproject 时所在的目录<br /><span style="background-color: #ffff00;">shidifen</span> 是我们的project name</p>
<p><span style="background-color: #ffff00;">Alias</span> /css E:/develop/shidifen/css 是把/css的访问转发到css文件夹</p>
<p><span style="background-color: #ffff00;">Directory</span>&nbsp;是给任何人访问该目录下文件的权限，默认无权限</p>
<p><span style="background-color: #ffff00;">Location</span> 是告诉告诉Apache&nbsp; /css下是静态内容不用python解释</p>
<p>&nbsp;</p>
<p>参考文档：<a href="http://thinkhole.org/wp/django-on-windows/">http://thinkhole.org/wp/django-on-windows/</a></p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/200463#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 05 Jun 2008 12:23:36 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/200463</link>
        <guid>http://hama.javaeye.com/blog/200463</guid>
      </item>
      <item>
        <title>mysql 的 float问题</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/200015" style="color:red;">http://hama.javaeye.com/blog/200015</a>&nbsp;
          发表时间: 2008年06月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>前两天提了<a href="../../../../post/564595" title="mysql 的 AUTO_INCREMENT 问题" class="quote_div" target="_blank">mysql 的 AUTO_INCREMENT 问题</a></p>
<p>今天再提mysql的一个问题：</p>
<p>假设table中有一个price=28.8的记录（price为float型），那么你用</p>
<pre name="code" class="sql">select * from table where price=28.8</pre>
<p>&nbsp;</p>
<p>是有可能select不到这条记录的，因为10进制和2进制之间的误差，这个28.8有可能是28.7999999</p>
<p>到目前为止我想到是有两个方案：</p>
<p>一个是这样select（其实在对精准要求比较高的情况下，这样可能是有问题）</p>
<pre name="code" class="java">select * from table where price&gt;28.7 and price&lt;28.9</pre>
<p>&nbsp;还有一个是在设计的时候比较fancy的解决方案（号称google是这样搞的）:</p>
<p><span style="background-color: #ffff00;">根本不设计float型的字段</span>，而是用一个int型+标识这个int型的小数位来代替float型，也就是price=28.8在数据库中存的是price=288，precision=1</p>
<p>不知道大家有没有什么好的方案??</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/200015#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 04 Jun 2008 10:44:06 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/200015</link>
        <guid>http://hama.javaeye.com/blog/200015</guid>
      </item>
      <item>
        <title>选择你所需要的Ajax框架</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/199838" style="color:red;">http://hama.javaeye.com/blog/199838</a>&nbsp;
          发表时间: 2008年06月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>这是我做 <a href="http://www.vshow.com">www.vshow.com</a> 2007年6月份的一份报告</p>
<p>&nbsp;</p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US" style="mso-bidi-font-family: 宋体;"><span style="mso-list: Ignore;">一、</span></span><span lang="EN-US">UI</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">（数据展现）</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">大多都是基于</span><span lang="EN-US"><span style="font-family: Times New Roman;">Prototype</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">、</span><span lang="EN-US"><span style="font-family: Times New Roman;">Script.aculo.us</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">实现的，当然还有</span><span lang="EN-US"><span style="font-family: Times New Roman;">Yahoo UI</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">、</span><span lang="EN-US"><span style="font-family: Times New Roman;">JQuery</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">等，现在比较流行开源框架有</span><span lang="EN-US"><span style="font-family: Times New Roman;">DOJO</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">、</span><span lang="EN-US"><span style="font-family: Times New Roman;">YUI-ext</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Times New Roman;">DOJO</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">：目前不是很成熟，有很大的性能问题，但有</span><span lang="EN-US"><span style="font-family: Times New Roman;">IBM</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">的支持，关注。。。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Times New Roman;">YUI-ext</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">：基于</span><span lang="EN-US"><span style="font-family: Times New Roman;">yahoo UI</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">的加强体验，超炫的用户交互体验效果，最棒的是你可以从它提供的组件中选择自己需要的，这样可以减小</span><span lang="EN-US"><span style="font-family: Times New Roman;">js</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">文件的大小</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt; text-indent: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt;"><span style="font-size: small;"><span style="font-family: Times New Roman;"><span lang="EN-US" style="mso-bidi-font-family: 宋体;"><span style="mso-list: Ignore;">二、</span></span><span class="postdesc"><span lang="EN-US">Ajax Framework</span></span></span><span class="postdesc"><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">（数据交互）</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 52.5pt; text-indent: -52.5pt; mso-char-indent-count: -5.0;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Times New Roman;">Dwr</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">：</span><span lang="EN-US"><span style="mso-spacerun: yes;"><span style="font-family: Times New Roman;">&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">以前用过，学习曲线低，而且确实比较好用，使用的人多（自然可维护性就好），文档齐全</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt; mso-outline-level: 1;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Times New Roman;">JSON-RPC-java</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">：使用的人较少，文档特别是汉化文档不足，学习曲线较高</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-size: small;"><span lang="EN-US"><span style="font-family: Times New Roman;">Buffalo</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">：性能不错，不过因为是国产，要真正用到项目中还需要考验（不是我崇洋媚外哦</span><span lang="EN-US" style="font-family: Wingdings; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-char-type: symbol; mso-symbol-font-family: Wingdings;"><span style="mso-char-type: symbol; mso-symbol-font-family: Wingdings;">J</span></span><span style="font-family: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman';">）</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">&nbsp;</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="font-size: small; font-family: Times New Roman;">&nbsp;</span></span></p>
<p><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">所以最后我们的选择应该是：</span><span lang="EN-US" style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">YUI-ext+DWR</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">，用</span><span lang="EN-US" style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">DWR</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">进行数据交互，</span><span lang="EN-US" style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">YUI-ext</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">进行数据展现。其中</span><span lang="EN-US" style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">YUI-ext</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">发展到现在已经有了基于</span><span lang="EN-US" style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">jquery</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">、</span><span lang="EN-US" style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">Prototype/Scriptaculous</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">的实现，不过个人建议还是用基于</span><span lang="EN-US" style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">YUI</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">的</span><span lang="EN-US" style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">YUI-ext</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">，因为血统纯正，文档齐全，且</span><span lang="EN-US" style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">flickr</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">被</span><span lang="EN-US" style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">yahoo</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">收购后应该有一些是基于</span><span lang="EN-US" style="font-size: 10.5pt; font-family: &quot;Times New Roman&quot;; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">YUI</span><span style="font-size: 10.5pt; font-family: 宋体; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-bidi-font-size: 12.0pt; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA;">的应用</span></p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/199838#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 03 Jun 2008 19:06:14 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/199838</link>
        <guid>http://hama.javaeye.com/blog/199838</guid>
      </item>
      <item>
        <title>python 内置数据类型</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/198978" style="color:red;">http://hama.javaeye.com/blog/198978</a>&nbsp;
          发表时间: 2008年05月31日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>一、Dictionary（相当于java的map）</p>
<pre name="code" class="python">&gt;&gt;&gt; d = {"server":"mpilgrim", "database":"master"} 
&gt;&gt;&gt; d
{'server': 'mpilgrim', 'database': 'master'}
&gt;&gt;&gt; d["server"]                                    
'mpilgrim'
&gt;&gt;&gt; d["database"]                                  
'master'
&gt;&gt;&gt; d["mpilgrim"]</pre>
<p>&nbsp;</p>
<p>是用{}来定义的</p>
<p>二、List</p>
<pre name="code" class="python">&gt;&gt;&gt; li = ["a", "b", "mpilgrim", "z", "example"] 
&gt;&gt;&gt; li
['a', 'b', 'mpilgrim', 'z', 'example']
&gt;&gt;&gt; li[0]                                       
'a'
&gt;&gt;&gt; li[4]                                       
'example'</pre>
<p>&nbsp;</p>
<p>是用[]来定义的，还可以用负数来索引，比如：-1是取list的最后一个值（比java可方便多啦）</p>
<pre name="code" class="python">&gt;&gt;&gt; li
['a', 'b', 'mpilgrim', 'z', 'example']
&gt;&gt;&gt; li[-1] 
'example'
&gt;&gt;&gt; li[-3] 
'mpilgrim'</pre>
<p>&nbsp;三、Tuple</p>
<p>Tuple 是不可变 list。 一旦创建了一个 tuple 就不能以任何方式改变它</p>
<pre name="code" class="python">&gt;&gt;&gt; t = ("a", "b", "mpilgrim", "z", "example") 
&gt;&gt;&gt; t
('a', 'b', 'mpilgrim', 'z', 'example')
&gt;&gt;&gt; t[0]                                       
'a'
&gt;&gt;&gt; t[-1]                                      
'example'
&gt;&gt;&gt; t[1:3]                                     
('b', 'mpilgrim')</pre>
<p>&nbsp;</p>
<p>是用()来定义</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/198978#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 31 May 2008 15:15:06 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/198978</link>
        <guid>http://hama.javaeye.com/blog/198978</guid>
      </item>
      <item>
        <title>mysql 的 AUTO_INCREMENT 问题</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/198779" style="color:red;">http://hama.javaeye.com/blog/198779</a>&nbsp;
          发表时间: 2008年05月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>主题：msql重启后，table的AUTO_INCREMENT会变成max(id)+1</p>
<p>假设现在的<span style="background-color: #ffff00;">max(id)=1000</span>,此时我<span style="background-color: #ffff00;">delete id=1000</span>的记录，然后<span style="background-color: #ffff00;">restart mysql</span>，其实我希望的是下一条记录的<span style="background-color: #ffff00;">id=1001</span>才对，但mysql会根据max(id)重新计算AUTO_INCREMENT，也就是下条记录又是<span style="background-color: #ffff00;">id=1000</span></p>
<p>我现在的办法是，restart mysql 后用<span style="background-color: #ffff00;">ALTER TABLE&nbsp;table AUTO_INCREMENT = 1001</span>手动更新AUTO_INCREMENT</p>
<p>大家有没有什么好办法？</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/198779#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 30 May 2008 18:22:46 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/198779</link>
        <guid>http://hama.javaeye.com/blog/198779</guid>
      </item>
      <item>
        <title>ajax的跨域访问</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/198581" style="color:red;">http://hama.javaeye.com/blog/198581</a>&nbsp;
          发表时间: 2008年05月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>跨域一直是ajax的一个问题，一下是我总结的两种比较变态的解决方案</p>
<p>1：不需要返回数据的（就是一个get提交）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 用一个img标签（style="display:none"），用js动态修改img的src的属性为自己需要跨域访问的url</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; </p>
<pre name="code" class="js">&lt;script type='text/javascript'&gt;
  var url="你要访问的url";
  $('#url').attr('src',url);
&lt;/script&gt;
&lt;img id="proxy" style="display:none" src=""/&gt;</pre>
<p>&nbsp;</p>
<p>2：需要返回数据的</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;用一个script标签，用script动态修改script的src的属性为自己需要跨域访问的url，通常这个url返回的是一段js代码（创建一下js 数据 object），这样在js中就可以用这些数据了(chinaren、sohu的登录就是这样搞的)</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/198581#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 30 May 2008 11:05:35 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/198581</link>
        <guid>http://hama.javaeye.com/blog/198581</guid>
      </item>
      <item>
        <title>python 学习报告</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/197691" style="color:red;">http://hama.javaeye.com/blog/197691</a>&nbsp;
          发表时间: 2008年05月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><span style="background-color: #ffff00;">error:1146, "Table 'demo.django_admin_log' doesn't exist</span></p>
<p>You create the <span class="searchword1"><span style="background-color: #ccffcc;">django_admin_log</span></span> <span class="searchword0"><span style="background-color: #ffff99;">table</span></span> with the command <tt>manage.py install admin</tt>, as explained in the tutorial</p>
<p>command manage.py install admin maybe change to manage.py syncdb admin </p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/197691#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 27 May 2008 23:42:54 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/197691</link>
        <guid>http://hama.javaeye.com/blog/197691</guid>
      </item>
      <item>
        <title>jquery plugin 集大成者</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/197633" style="color:red;">http://hama.javaeye.com/blog/197633</a>&nbsp;
          发表时间: 2008年05月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>文件上传(File upload)</p>
<p><a href="http://www.phpletter.com/Demo/AjaxFileUpload-Demo/">Ajax File Upload</a>.<br /><a href="http://www.pixeline.be/experiments/jqUploader/">jQUploader</a>.<br /><a href="http://www.fyneworks.com/jquery/multiple-file-upload/">Multiple File Upload plugin</a>. <br /><a href="http://www.appelsiini.net/projects/filestyle">jQuery File Style</a>.<br /><a href="http://jquery.com/plugins/project/InputFileCSS">Styling an input type file</a>.<br /><a href="http://digitalbush.com/projects/progress-bar-plugin">Progress Bar Plugin</a>. </p>
<p>表单验证(Form Validation) </p>
<p><a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/">jQuery Validation</a>.<br /><a href="http://www.dyve.net/jquery/?autohelp">Auto Help</a>.<br /><a href="http://www.willjessup.com/sandbox/jquery/form_validator/form_validate.html">Simple jQuery form validation</a>.<br /><a href="http://letmehaveblog.blogspot.com/2007/08/easy-client-side-web-forms-validations.html">jQuery XAV - form validations</a>.<br /><a href="http://itgroup.com.ph/alphanumeric/">jQuery AlphaNumeric</a>.<br /><a href="http://digitalbush.com/projects/masked-input-plugin">Masked Input</a>.<br /><a href="http://www.dennydotnet.com/post/TypeWatch-jQuery-Plugin.aspx">TypeWatch Plugin</a>.<br /><a href="http://jquery.com/plugins/project/TextLimiter">Text limiter for form fields</a>.<br /><a href="http://www.shawngo.com/gafyd/index.html">Ajax Username Check with jQuery</a>. </p>
<p>表单－选取框(Form - Select Box stuff) </p>
<p><a href="http://jquery.sanchezsalvador.com/page/jquerycombobox.aspx">jQuery Combobox</a>.<br /><a href="http://www.ajaxray.com/blog/2007/11/08/jquery-controlled-dependent-or-cascading-select-list-2/">jQuery controlled dependent (or Cascadign) Select List</a>.<br /><a href="http://code.google.com/p/jqmultiselects/">Multiple Selects</a>.<br /><a href="http://www.texotela.co.uk/code/jquery/select/">Select box manipulation</a>.<br /><a href="http://code.google.com/p/jqueryselectcombo/">Select Combo Plugin</a>.<br /><a href="http://www.msxhost.com/jquery/linked-selects/json/%20target=">jQuery - LinkedSelect</a><br /><a href="http://remysharp.com/2007/09/18/auto-populate-multiple-select-boxes/">Auto-populate multiple select boxes</a>.<br /><a href="http://www.sitespotting.it/esempi/002/">Choose Plugin (Select Replacement)</a>. </p>
<p>表单基本、输入框、选择框等(Form Basics, Input Fields, Checkboxes etc.) </p>
<p><a href="http://www.malsup.com/jquery/form/">jQuery Form Plugin</a>.<br /><a href="http://code.handlino.com/wiki/jquery-form">jQuery-Form</a>.<br /><a href="http://envero.org/jlook/">jLook Nice Forms</a>.<br /><a href="http://www.whitespace-creative.com/jquery/jNice/">jNice</a>.<br /><a href="http://www.brainfault.com/2007/07/07/pin-plugin-reloaded/">Ping Plugin</a>.<br /><a href="http://grzegorz.frydrychowicz.net/jquery_toggleformtext/">Toggle Form Text</a>.<br /><a href="http://thoughts.kuzemchak.net/entry/toggleval-for-jquery/">ToggleVal</a>.<br /><a href="http://www.pengoworks.com/workshop/jquery/field.plugin.htm">jQuery Field Plugin</a>.<br /><a href="http://code.befruit.com/">jQuery Form&rsquo;n Field plugin</a>.<br /><a href="http://www.texotela.co.uk/code/jquery/checkboxes/">jQuery Checkbox manipulation</a>.<br /><a href="http://www.alcoholwang.cn/jquery/jTaggingDemo.htm">jTagging</a>.<br /><a href="http://code.google.com/p/labelcheck/">jQuery labelcheck</a>.<br /><a href="http://scott.sauyet.com/thoughts/archives/2007/03/31/overlabel-with-jquery/">Overlabel</a>.<br /><a href="http://blog.amicoimmaginario.it/2007/08/28/jquery-plugin-3-state-radio-buttons/">3 state radio buttons</a>.<br /><a href="http://sanisoft-demo.com/jquery/plugins/shiftcheckbox/">ShiftCheckbox jQuery Plugin</a>.<br /><a href="http://digitalbush.com/projects/watermark-input-plugin">Watermark Input</a>.<br /><a href="http://kawika.org/jquery/checkbox/">jQuery Checkbox (checkboxes with imags)</a>.<br /><a href="http://www.softwareunity.com/sandbox/jqueryspinbtn/">jQuery SpinButton Control</a>.<br /><a href="http://www.phpletter.com/form_builder/demo.html">jQuery Ajax Form Builder</a>.<br /><a href="http://www.texotela.co.uk/code/jquery/focusfields/">jQuery Focus Fields</a>.<br /><a href="http://home.iprimus.com.au/kbwood/jquery/timeEntry.html">jQuery Time Entry</a>. </p>
<p>时间、日期和颜色选取(Time, Date and Color Picker) </p>
<p><a href="http://marcgrabanski.com/code/ui-datepicker/">jQuery UI Datepicker</a>.<br /><a href="http://kelvinluck.com/assets/jquery/datePicker/">jQuery date picker plugin</a>.<br /><a href="http://code.google.com/p/jquery-timepicker/">jQuery Time Picker</a>.<br /><a href="http://www.texotela.co.uk/code/jquery/timepicker/">Time Picker</a>.<br /><a href="http://www.oakcitygraphics.com/jquery/clockpick/ClockPick.cfm">ClickPick</a>.<br /><a href="http://labs.perifer.se/timedatepicker/">TimePicker</a>.<br /><a href="http://acko.net/dev/farbtastic">Farbtastic jQuery Color Picker Plugin</a>.<br /><a href="http://www.intelliance.fr/jquery/color_picker/">Color Picker by intelliance.fr</a>. </p>
<p>投票插件(Rating Plugins) </p>
<p><a href="http://www.phpletter.com/Demo/Jquery-Star-Rating-Plugin/#">jQuery Star Rating Plugin</a>.<br /><a href="http://www.m3nt0r.de/devel/raterDemo/">jQuery Star Rater</a>.<br /><a href="http://riderdesign.com/articles/displayarticle.aspx?articleid=21">Content rater with asp.net, ajax and jQuery</a>.<br /><a href="http://www.learningjquery.com/2007/05/half-star-rating-plugin">Half-Star Rating Plugin</a>. </p>
<p>搜索插件(Search Plugins) </p>
<p><a href="http://www.vulgarisoip.com/2007/08/06/jquerysuggest-11/">jQuery Suggest</a>.<br /><a href="http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/">jQuery Autocomplete</a>.<br /><a href="http://www.pengoworks.com/workshop/jquery/autocomplete.htm">jQuery Autocomplete Mod</a>.<br /><a href="http://www.ajaxdaddy.com/demo-jquery-autocomplete.html">jQuery Autocomplete by AjaxDaddy</a>.<br /><a href="http://dev.reach1to1.net/saurabh/jplugins/autocomplete/">jQuery Autocomplete Plugin with HTML formatting</a>.<br /><a href="http://interface.eyecon.ro/docs/autocomplete">jQuery Autocompleter</a>.<br /><a href="http://nodstrum.com/2007/09/19/autocompleter/">AutoCompleter (Tutorial with PHP&amp;MySQL)</a>.<br /><a href="http://rikrikrik.com/jquery/quicksearch/">quick Search jQuery Plugin</a>. </p>
<p>编辑器(Inline Edit &amp; Editors)<a href="http://www.cnblogs.com/images/cnblogs_com/Terrylee/WindowsLiveWriter/240jQuery_128F5/JQuery_002_2.gif"><img alt="" /></a></p>
<p><a href="http://www.jaysalvat.com/jquery/jtageditor/">jTagEditor</a>.<br /><a href="http://demo.wymeditor.org/demo.html">WYMeditor</a>.<br /><a href="http://garage.pimentech.net/scr%C4%ABpts_doc_jquery_jframe/">jQuery jFrame</a>.<br /><a href="http://www.appelsiini.net/projects/jeditable">Jeditable - edit in place plugin for jQuery</a>. <br /><a href="http://www.dyve.net/jquery/?editable">jQuery editable</a>.<br /><a href="http://www.jdempster.com/category/jquery/disableTextSelect/">jQuery Disable Text Select Plugin</a>.<br /><a href="http://15daysofjquery.com/edit-in-place-with-ajax-using-jquery-javascr%C4%ABpt-library/15/">Edit in Place with Ajax using jQuery</a>.<br /><a href="http://davehauenstein.com/blog/archives/28">jQuery Plugin - Another In-Place Editor</a>.<br /><a href="http://dev.iceburg.net/jquery/tableEditor/demo.php">TableEditor</a>.<br /><a href="http://joshhundley.com/teditable-in-place-editing-for-tables/">tEditable - in place table editing for jQuery</a>. </p>
<p>多媒体、视频、Flash等(Audio, Video, Flash, SVG, etc) </p>
<p><a href="http://www.contentwithstructure.com/extras/jmedia">jMedia - accessible multi-media embedding</a>.<br /><a href="http://sourceforge.net/projects/jbedit/">JBEdit - Ajax online Video Editor</a>.<br /><a href="http://www.sean-o.com/jquery/jmp3/">jQuery MP3 Plugin</a>.<br /><a href="http://malsup.com/jquery/media/">jQuery Media Plugin</a>.<br /><a href="http://jquery.lukelutman.com/plugins/flash/index.html">jQuery Flash Plugin</a>.<br /><a href="http://www.solitude.dk/archives/embedquicktime/">Embed QuickTime</a>.<br /><a href="http://keith-wood.name/svg.html">SVG Integration</a>. </p>
<p><a href="javascript:;"><span style="text-decoration: underline;"><strong>图片</strong></span></a>(Photos/Images/Galleries) </p>
<p><a href="http://jquery.com/demo/thickbox/">ThickBox</a>.<br /><a href="http://leandrovieira.com/projects/jquery/lightbox/">jQuery lightBox plugin</a>.<br /><a href="http://blog.joshuaeichorn.com/archives/2007/01/11/jquery-image-strip/">jQuery Image Strip</a>.<br /><a href="http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html">jQuery slideViewer</a>.<br /><a href="http://benjaminsterling.com/2007/09/09/jquery-jqgalscroll-photo-gallery/">jQuery jqGalScroll 2.0</a>.<br /><a href="http://benjaminsterling.com/2007/10/02/jquery-jqgalviewii-photo-gallery/">jQuery - jqGalViewII</a>.<br /><a href="http://benjaminsterling.com/2007/10/21/jqgalviewiii-proof-of-concept/">jQuery - jqGalViewIII</a>.<br /><a href="http://opiefoto.com/articles/photoslider">jQuery Photo Slider</a>.<br /><a href="http://joanpiedra.com/jquery/thumbs/">jQuery Thumbs - easily create thumbnails</a>.<br /><a href="http://www.texotela.co.uk/code/jquery/jQIR/">jQuery jQIR Image Replacement</a>.<br /><a href="http://www.gmarwaha.com/jquery/jcarousellite/index.php#what">jCarousel Lite</a>.<br /><a href="http://projects.sevir.org/storage/jpanview/index.html">jQPanView</a>.<br /><a href="http://sorgalla.com/projects/jcarousel/#Examples">jCarousel</a>.<br /><a href="http://www.intelliance.fr/jquery/imagebox/">Interface Imagebox</a>.<br /><a href="http://www.getintothis.com/blog/2006/10/12/image-gallery-using-jquery-interface-reflections/">Image Gallery using jQuery, Interface &amp; Reflactions</a>.<br /><a href="http://realazy.org/lab/jquery/j-gallery/">simple jQuery Gallery</a>.<br /><a href="http://chicagosocial.com/gallery/">jQuery Gallery Module</a>.<br /><a href="http://www.eogallery.com/">EO Gallery</a>.<br /><a href="http://flesler.blogspot.com/search/label/jQuery.ScrollShow">jQuery ScrollShow</a>.<br /><a href="http://www.malsup.com/jquery/cycle/">jQuery Cycle Plugin</a>.<br /><a href="http://www.projectatomic.com/en/flickr.htm">jQuery Flickr</a>.<br /><a href="http://www.appelsiini.net/2007/9/lazy-load-images-jquery-plugin">jQuery Lazy Load Images Plugin</a>.<br /><a href="http://www.sunsean.com/zoomi/">Zoomi - Zoomable Thumbnails</a>.<br /><a href="http://remysharp.com/2007/03/19/a-few-more-jquery-plugins-crop-labelover-and-pluck/#crop">jQuery Crop - crop any image on the fly</a>.<br /><a href="http://jquery.com/plugins/project/reflection">Image Reflection</a>. </p>
<p><a href="javascript:;"><span style="text-decoration: underline;"><strong>Google</strong></span></a>地图（Google Map） </p>
<p><a href="http://www.dyve.net/jquery/?googlemaps">jQuery Plugin googlemaps</a>.<br /><a href="http://code.google.com/p/jmaps/">jMaps jQuery Maps Framework</a>.<br /><a href="http://projects.sevir.org/storage/jqmaps/index.html">jQmaps</a>.<br /><a href="http://olbertz.de/jquery/googlemap.html#">jQuery &amp; Google Maps</a>.<br /><a href="http://snippets.dzone.com/posts/show/4361">jQuery Maps Interface forr Google and Yahoo maps</a>.<br /><a href="http://webrocket.ulmb.com/jmaps/">jQuery J Maps - by Tane Piper</a>. </p>
<p>游戏(Games) </p>
<p><a href="http://fmarcia.info/jquery/tetris/tetris.html">Tetris with jQuery</a>.<br /><a href="http://64squar.es/">jQuery Chess</a>.<br /><a href="http://www.bennadel.com/blog/623-jQuery-Demo-Mad-Libs-Word-Game.htm">Mad Libs Word Game</a>.<br /><a href="http://www.alexatnet.com/node/68">jQuery Puzzle</a>.<br /><a href="http://www.willjessup.com/sandbox/jquery/solar_system/rotator.html">jQuery Solar System (not a game but awesome jQuery Stuff)</a>. </p>
<p>表格等(Tables, Grids etc.) </p>
<p><a href="http://docs.jquery.com/Plugins/Tablesorter">UI/Tablesorter</a>.<a href="http://www.cnblogs.com/images/cnblogs_com/Terrylee/WindowsLiveWriter/240jQuery_128F5/JQuery_003_2.gif"><img alt="" /></a> <br /><a href="http://www.reconstrukt.com/ingrid/">jQuery ingrid</a>.<br /><a href="http://www.trirand.com/blog/?p=13">jQuery Grid Plugin</a>.<br /><a href="http://ideamill.synaptrixgroup.com/jquery/tablefilter/tabletest.htm">Table Filter - awesome!</a>.<br /><a href="http://dev.iceburg.net/jquery/tableEditor/demo.php">TableEditor</a>.<br /><a href="http://www.hanpau.com/jquery/unobtrusivetreetable.php">jQuery Tree Tables</a>.<br /><a href="http://www.javascr%c4%abpttoolbox.com/jquery/#expandablerows">Expandable &ldquo;Detail&rdquo; Table Rows</a>.<br /><a href="http://www.remotesynthesis.com/blog/index.cfm/2007/9/25/Sortable-Table-ColdFusion-Custom-Tag-with-jQueryUI">Sortable Table ColdFusion Costum Tag with jQuery UI</a>.<br /><a href="http://flesler.blogspot.com/2007/10/jquerybubble.html">jQuery Bubble</a>.<br /><a href="http://tablesorter.com/docs/">TableSorter</a>.<br /><a href="http://www.webtoolkit.info/demo/jquery/scrollable/demo.html">Scrollable HTML Table</a>.<br /><a href="http://p.sohei.org/stuff/jquery/columnmanager/demo/demo.html">jQuery column Manager Plugin</a>.<br /><a href="http://p.sohei.org/stuff/jquery/tablehover/demo/demo.html">jQuery tableHover Plugin</a>.<br /><a href="http://p.sohei.org/stuff/jquery/columnhover/demo/demo.html">jQuery columnHover Plugin</a>.<br /><a href="http://makoomba.altervista.org/grid/">jQuery Grid</a>.<br /><a href="http://motherrussia.polyester.se/jquery-plugins/tablesorter/">TableSorter plugin for jQuery</a>.<br /><a href="http://joshhundley.com/teditable-in-place-editing-for-tables/">tEditable - in place table editing for jQuery</a>.<br /><a href="http://www.hovinne.com/dev/jquery/chartotable/">jQuery charToTable Plugin</a>.<br /><a href="http://www.ita.es/jquery/jquery.grid.columnSizing.htm">jQuery Grid Column Sizing</a>.<br /><a href="http://www.ita.es/jquery/jquery.grid.rowSizing.htm">jQuery Grid Row Sizing</a>. </p>
<p>统计图(Charts, Presentation etc.) </p>
<p><a href="http://worcesterwideweb.com/2007/06/04/jquery-wizard-plugin/">jQuery Wizard Plugin </a>.<br /><a href="http://www.reach1to1.com/sandbox/jquery/jqchart/">jQuery Chart Plugin</a>.<br /><a href="http://ejohn.org/apps/speed/">Bar Chart</a>. </p>
<p>边框、圆角、背景(Border, Corners, Background) </p>
<p><a href="http://www.malsup.com/jquery/corner/">jQuery Corner</a>.<br /><a href="http://blue-anvil.com/archives/anti-aliased-rounded-corners-with-jquery">jQuery Curvy Corner</a>.<br /><a href="http://dev.jquery.com/%7Epaul/plugins/nifty/example.html">Nifty jQuery Corner</a>.<br /><a href="http://illandril.net/jQuery/transparentCorners/">Transparent Corners</a>.<br /><a href="http://www.methvin.com/jquery/jq-corner.html">jQuery Corner Gallery</a>.<br /><a href="http://blog.brandonaaron.net/my-jquery-plugins/gradient/">Gradient Plugin</a>. </p>
<p>文字和超链接(Text and Links) </p>
<p><a href="http://wanderinghorse.net/computing/javascr%C4%ABpt/jquery/spoilers/demo.html">jQuery Spoiler plugin</a>.<br /><a href="http://johannburkard.de/blog/programming/javascr%C4%ABpt/highlight-javascr%C4%ABpt-text-higlighting-jquery-plugin.html">Text Highlighting</a>.<br /><a href="http://www.jdempster.com/category/jquery/disableTextSelect/">Disable Text Select Plugin</a>.<br /><a href="http://www.texotela.co.uk/code/jquery/newsticker/">jQuery Newsticker</a>.<br /><a href="http://www.ollicle.com/2007/jun/03/jquery_lineheight_flexible.html">Auto line-height Plugin</a>.<br /><a href="http://agencenp.net/textgrad/textgrad.html">Textgrad - a text gradient plugin</a>.<br /><a href="http://kawika.org/jquery/linklook/">LinkLook - a link thumbnail preview</a>.<br /><a href="http://rikrikrik.com/jquery/pager/#examples">pager jQuery Plugin</a>.<br /><a href="http://rikrikrik.com/jquery/shortkeys/">shortKeys jQuery Plugin</a>.<br /><a href="http://www.ollicle.com/eg/jquery/biggerlink">jQuery Biggerlink</a>.<br /><a href="http://troy.dyle.net/linkchecker/">jQuery Ajax Link Checker</a>. </p>
<p>鼠标提示（Tooltips） </p>
<p><a href="http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/">jQuery Plugin - Tooltip</a>.<br /><a href="http://www.codylindley.com/blogstuff/js/jtip/">jTip - The jQuery Tool Tip</a>.<br /><a href="http://examples.learningjquery.com/62/demo/index.html#examplesection">clueTip</a>.<br /><a href="http://edgarverle.com/BetterTip/default.cfm">BetterTip</a>.<br /><a href="http://ioreader.com/2007/05/15/flash-tooltips-using-jquery/">Flash Tooltips using jQuery</a>.<br /><a href="http://www.texotela.co.uk/code/jquery/tooltipdemo/">ToolTip</a>. </p>
<p>菜单和导航(Menus, Navigations) </p>
<p><a href="http://stilbuero.de/jquery/tabs_3/">jQuery Tabs Plugin - awesome! </a>. [<a href="http://stilbuero.de/jquery/tabs_3/nested.html">demo nested tabs</a>.]<br /><a href="http://blog.cutterscrossing.com/index.cfm/2007/6/15/Updated-JQuery-Nested-Tab-Set-with-Demo">another jQuery nested Tab Set example (based on jQuery Tabs Plugin)</a>.<br /><a href="http://www.sunsean.com/idTabs/">jQuery idTabs</a>.<br /><a href="http://jdsharp.us/jQuery/plugins/jdMenu/">jdMenu - Hierarchical Menu Plugin for jQuery</a>.<br /><a href="http://be.twixt.us/jquery/suckerFish.php">jQuery SuckerFish Style</a>.<br /><a href="http://bassistance.de/jquery-plugins/jquery-plugin-treeview/">jQuery Plugin Treeview</a>.<br /><a href="http://be.twixt.us/jquery/treeView.php">treeView Basic</a>.<br /><a href="http://labs.activespotlight.net/jQuery/menu_demo.html">FastFind Menu</a>.<br /><a href="http://www.getintothis.com/blog/2006/09/26/my-first-jquery-plugin-a-sliding-menu/">Sliding Menu</a>.<br /><a href="http://gmarwaha.com/blog/?p=7">Lava Lamp jQuery Menu</a>.<br /><a href="http://icon.cat/wiki/IconDock_En#iconDock_jQuery_Plugin">jQuery iconDock</a>.<br /><a href="http://cherne.net/brian/resources/jquery.variations.html">jVariations Control Panel</a>.<br /><a href="http://www.trendskitchens.co.nz/jquery/contextmenu/">ContextMenu plugin</a>.<br /><a href="http://p.sohei.org/jquery-plugins/clickmenu/">clickMenu</a>.<br /><a href="javascript:;"><span style="text-decoration: underline;"><strong>CSS</strong></span></a> Dock Menu.<br /><a href="http://webexpose.org/2006/12/28/jquery-pop-up-menu-tutorial/">jQuery Pop-up Menu Tutorial</a>.<br /><a href="http://www.getintothis.com/blog/2006/09/26/my-first-jquery-plugin-a-sliding-menu/">Sliding Menu</a>. </p>
<p><a href="http://stilbuero.de/jquery/tabs_3/" title="http://stilbuero.de/jquery/tabs_3/">http://stilbuero.de/jquery/tabs_3/</a> </p>
<p>幻灯、翻转等(Accordions, Slide and Toggle stuff) </p>
<p><a href="http://bassistance.de/jquery-plugins/jquery-plugin-accordion/">jQuery Plugin Accordion</a>.<br /><a href="http://fmarcia.info/jquery/accordion.html">jQuery Accordion Plugin Horizontal Way</a>.<br /><a href="http://letmehaveblog.blogspot.com/2007/10/haccordion-simple-horizontal-accordion.html">haccordion - a simple horizontal accordion plugin for jQuery</a>.<br /><a href="http://dev.portalzine.de/index?/Horizontal_Accordion--print">Horizontal Accordion by portalzine.de</a>.<br /><a href="http://berndmatzner.de/jquery/hoveraccordion/">HoverAccordion</a>.<br /><a href="http://fmarcia.info/jquery/accordion.html">Accordion Example from fmarcia.info</a>.<br /><a href="http://blog.evaria.com/wp-content/themes/blogvaria/jquery/index.php">jQuery Accordion Example</a>.<br /><a href="http://jquery.com/files/demo/dl-done.html">jQuery Demo - Expandable Sidebar Menu</a>.<br /><a href="http://www.andreacfm.com/examples/jQpanels/">Sliding Panels for jQuery</a>.<br /><a href="http://jquery.andreaseberhard.de/toggleElements/">jQuery ToggleElements</a>.<br /><a href="http://www.ndoherty.com/demos/coda-slider/">Coda Slider</a>.<br /><a href="http://sorgalla.com/projects/jcarousel/#Examples">jCarousel</a>.<br /><a href="http://www.reindel.com/accessible_news_slider/">Accesible News Slider Plugin</a>.<br /><a href="http://icant.co.uk/sandbox/jquerycodeview/">Showing and Hiding code Examples</a>.<br /><a href="http://gsgd.co.uk/sandbox/jquery/easing/">jQuery Easing Plugin</a>.<br /><a href="http://sonspring.com/journal/jquery-portlets">jQuery Portlets</a>.<br /><a href="http://jdsharp.us/jQuery/plugins/AutoScroll/">AutoScroll</a>.<br /><a href="http://medienfreunde.com/lab/innerfade/">Innerfade</a>. </p>
<p>拖放插件(Drag and Drop) </p>
<p><a href="http://docs.jquery.com/UI/Draggables">UI/Draggables</a>.<br /><a href="http://fromvega.com/wordpress/2007/07/14/easydrag-jquery-plugin/">EasyDrag jQuery Plugin</a>.<br /><a href="http://sonspring.com/journal/jquery-portlets">jQuery Portlets</a>.<br /><a href="http://dev.iceburg.net/jquery/jqDnR/">jqDnR - drag, drop resize</a>.<br /><a href="http://interface.eyecon.ro/demos/drag.html">Drag Demos</a>. </p>
<p><a href="javascript:;"><span style="text-decoration: underline;"><strong>XML</strong></span></a> XSL JSON Feeds </p>
<p><a href="http://www.jongma.org/webtools/jquery/xslt/">XSLT Plugin</a>.<br /><a href="http://cgaskell.wordpress.com/2006/11/02/jquery-ajax-call-and-result-xml-parsing/">jQuery Ajax call and result XML parsing</a>.<br /><a href="http://jquery.com/plugins/project/xmlObjectifier">xmlObjectifier - Converts XML DOM to JSON</a>.<br /><a href="http://jquery.glyphix.com/">jQuery XSL Transform</a>.<br /><a href="http://malsup.com/jquery/taconite/">jQuery Taconite - multiple Dom updates</a>.<br /><a href="http://www.hovinne.com/blog/index.php/2007/07/15/132-jfeed-jquery-rss-atom-feed-parser-plugin">RSS/ATOM Feed Parser Plugin</a>.<br /><a href="http://www.malsup.com/jquery/gfeed/">jQuery Google Feed Plugin</a>. </p>
<p>浏览器(Browserstuff) </p>
<p><a href="http://noteslog.com/post/how-to-fix-the-resize-event-in-ie/">Wresize - IE Resize event Fix Plugin</a>.<br /><a href="http://jquery.khurshid.com/ifixpng.php">jQuery ifixpng</a>.<br /><a href="http://jquery.andreaseberhard.de/pngFix/">jQuery pngFix</a>.<br /><a href="http://www.crismancich.de/jquery/plugins/linkscrubber/">Link Scrubber - removes the dotted line onfocus from links</a>.<br /><a href="http://www.matthewjrichards.co.uk/articles/2007/06/25/jquery-perciformes-the-entire-suckerfish-familly-under-one-roof">jQuery Perciformes - the entire suckerfish familly under one roof</a>.<br /><a href="http://blog.brandonaaron.net/my-jquery-plugins/background-iframe/">Background Iframe</a>.<br /><a href="http://jquery.com/plugins/project/QinIE">QinIE - for proper display of Q tags in IE</a>.<br /><a href="http://webrocket.ulmb.com/ability/">jQuery Accessibility Plugin</a>.<br /><a href="http://www.ogonek.net/mousewheel/jquery-demo.html">jQuery MouseWheel Plugin</a>. </p>
<p>对话框、确认窗口(Alert, Prompt, Confirm <a href="javascript:;"><span style="text-decoration: underline;"><strong>Windows</strong></span></a>) </p>
<p><a href="http://trentrichardson.com/Impromptu/">jQuery Impromptu</a>.<br /><a href="http://nadiaspot.com/jquery/confirm">jQuery Confirm Plugin</a>.<br /><a href="http://dev.iceburg.net/jquery/jqModal/">jqModal</a>.<br /><a href="http://www.ericmmartin.com/projects/simplemodal/">SimpleModal</a>. </p>
<p>CSS </p>
<p><a href="http://www.kelvinluck.com/article/switch-stylesheets-with-jquery">jQuery Style Switcher</a>.<br /><a href="http://andykent.bingodisk.com/bingo/public/jss/">JSS - Javascrīpt StyleSheets</a>.<br /><a href="http://flesler.blogspot.com/2007/11/jqueryrule.html">jQuery Rule - creation/manipulation of CSS Rules</a>.<br /><a href="http://www.designerkamal.com/jPrintArea/">jPrintArea</a>. </p>
<p>DOM、AJAX和其它JQuery插件（DOM, Ajax and other jQuery plugins） </p>
<p><a href="http://flydom.socianet.com/">FlyDOM</a>.<br /><a href="http://brandonaaron.net/docs/dimensions/#getting-started">jQuery Dimenion Plugin</a>.<br /><a href="http://happygiraffe.net/blog/articles/2007/09/26/jquery-logging">jQuery Loggin</a>.<br /><a href="http://jquery.com/plugins/project/metadata">Metadata - extract metadata from classes, attributes, elements</a>.<br /><a href="http://johannburkard.de/blog/programming/javascr%C4%ABpt/inc-a-super-tiny-client-side-include-javascr%C4%ABpt-jquery-plugin.html">Super-tiny Client-Side Include Javascrīpt jQuery Plugin</a>.<br /><a href="http://humanized.com/weblog/2007/09/14/undo-made-easy-with-ajax-part-1/">Undo Made Easy with Ajax</a>.<br /><a href="http://www.jasons-toolbox.com/JHeartbeat/">JHeartbeat - periodically poll the server</a>.<br /><a href="http://www.appelsiini.net/projects/lazyload">Lazy Load Plugin</a>.<br /><a href="javascript:;"><span style="text-decoration: underline;"><strong>Live</strong></span></a> Query.<br /><a href="http://jquery.offput.ca/every/">jQuery Timers</a>.<br /><a href="http://www.joanpiedra.com/jquery/shareit/">jQuery Share it - display social bookmarking icons</a>.<br /><a href="http://www.jdempster.com/category/code/jquery/cookiejar/">jQuery serverCookieJar</a>.<br /><a href="http://ideamill.synaptrixgroup.com/?p=3">jQuery autoSave</a>.<br /><a href="http://www.semicomplete.com/blog/geekery/jquery-interface-puffer.html">jQuery Puffer</a>.<br /><a href="http://33rockers.com/jquery/iframe-demo/">jQuery iFrame Plugin</a>.<br /><a href="http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery/">Cookie Plugin for jQuery</a>.<br /><a href="http://leftlogic.com/lounge/articles/jquery_spy2">jQuery Spy - awesome plugin</a>.<br /><a href="http://www.learningjquery.com/2007/01/effect-delay-trick">Effect Delay Trick</a>.<br /><a href="http://jquick.sullof.com/jquick/">jQuick - a quick tag creator for jQuery</a>.<a href="http://noteslog.com/post/metaobjects-11-released-today/"><br />Metaobjects</a>.<br /><a href="http://www.thunderguy.com/semicolon/2007/08/14/elementready-jquery-plugin/">elementReady</a>. </p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/197633#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 27 May 2008 22:14:48 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/197633</link>
        <guid>http://hama.javaeye.com/blog/197633</guid>
      </item>
      <item>
        <title>很好的图片展示效果</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/197476" style="color:red;">http://hama.javaeye.com/blog/197476</a>&nbsp;
          发表时间: 2008年05月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>图片的演示：<a href="http://www.lokeshdhakar.com/projects/lightbox2/">http://www.lokeshdhakar.com/projects/lightbox2/</a>&nbsp;（scriptaculous）</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://leandrovieira.com/projects/jquery/lightbox/">http://leandrovieira.com/projects/jquery/lightbox/</a>&nbsp;(jquery)</p>
<p>图片的放大镜：<a href="http://www.mind-projects.it/blog/jqzoom_v10">http://www.mind-projects.it/blog/jqzoom_v10</a>&nbsp;（jquery）</p>
<p>图片的裁剪：<a href="http://ui.jquery.com/repository/real-world/image-cropper/">http://ui.jquery.com/repository/real-world/image-cropper/</a>&nbsp;（jquery）</p>
<p>图片的相册管理：<a href="http://ui.jquery.com/repository/real-world/photo-manager/">http://ui.jquery.com/repository/real-world/photo-manager/</a>&nbsp;（jquery）</p>
<p>图片延迟加载：<a href="http://www.appelsiini.net/projects/lazyload/">http://www.appelsiini.net/projects/lazyload/</a>&nbsp;(jquery)</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/197476#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 27 May 2008 15:17:35 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/197476</link>
        <guid>http://hama.javaeye.com/blog/197476</guid>
      </item>
      <item>
        <title>python库</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/196671" style="color:red;">http://hama.javaeye.com/blog/196671</a>&nbsp;
          发表时间: 2008年05月25日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><a href="http://effbot.org/downloads/Imaging-1.1.6.tar.gz"><strong>Python Imaging Library </strong></a>&nbsp;PIL 图片处理</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/196671#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 25 May 2008 11:25:26 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/196671</link>
        <guid>http://hama.javaeye.com/blog/196671</guid>
      </item>
      <item>
        <title>三部委发布电信重组公告</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/196381" style="color:red;">http://hama.javaeye.com/blog/196381</a>&nbsp;
          发表时间: 2008年05月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><strong>基于电信行业现状，为实现上述改革目标，鼓励中国电信收购中国联通CDMA网（包括资产和用户），中国联通与中国网通合并，中国卫通的基础电信业务并入中国电信，中国铁通并入中国移动</strong></p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/196381#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 24 May 2008 15:27:42 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/196381</link>
        <guid>http://hama.javaeye.com/blog/196381</guid>
      </item>
      <item>
        <title>sorting map by value</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/195310" style="color:red;">http://hama.javaeye.com/blog/195310</a>&nbsp;
          发表时间: 2008年05月21日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>之前试了</p>
<pre name="code" class="java">import java.util.Comparator;
import java.util.Map;

public class ByValueComparator implements Comparator {
	Map&lt;Object,Integer&gt; base_map;

	public ByValueComparator(Map&lt;Object,Integer&gt; base_map) {
		this.base_map = base_map;
	}

	public int compare(Object arg0, Object arg1) {
		 if(!base_map.containsKey(arg0) || !base_map.containsKey(arg1)) {
		      return 0;
		    }
			
		    if(base_map.get(arg0) &lt; base_map.get(arg1)) {
		      return 1;
		    } else if(base_map.get(arg0) == base_map.get(arg1)) {
		      return 0;
		    } else {
		      return -1;
		    }

	}

}
</pre>
<p>&nbsp;</p>
<pre name="code" class="java">ByValueComparator bvc = new ByValueComparator(retMap);
TreeMap sortedMap = new TreeMap(bvc);
sortedMap.putAll(retMap);</pre>
<p>&nbsp;</p>
<p>但是TreeMap &nbsp;get和put的时候都会调用compare，如果有相同的value就歇菜了，后面的会覆盖前面的（但key不一样），显然不是我们要的！</p>
<p>正解：</p>
<pre name="code" class="java">/**
	 * 
	 * @param map 需要按值排序的map
	 * @param reverse 是否是倒序
	 * @return
	 */
	public static Map sortByValue(Map map , final boolean reverse){
		List list = new LinkedList(map.entrySet());
		Collections.sort(list, new Comparator() {
			public int compare(Object o1, Object o2) {
				if(reverse){
					return -((Comparable) ((Map.Entry) (o1)).getValue())
					.compareTo(((Map.Entry) (o2)).getValue());
				}
				return ((Comparable) ((Map.Entry) (o1)).getValue())
						.compareTo(((Map.Entry) (o2)).getValue());
			}
		});
		Map result = new LinkedHashMap();
		for (Iterator it = list.iterator(); it.hasNext();) {
			Map.Entry entry = (Map.Entry) it.next();
			result.put(entry.getKey(), entry.getValue());
		}
		return result;

	}</pre>
<p>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/195310#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 21 May 2008 15:30:20 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/195310</link>
        <guid>http://hama.javaeye.com/blog/195310</guid>
      </item>
      <item>
        <title>open flash chart</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/194646" style="color:red;">http://hama.javaeye.com/blog/194646</a>&nbsp;
          发表时间: 2008年05月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>一、解决不能编译的问题</p>
<p>将文档编译路径.去掉，文件&mdash;&mdash;&gt;发布设置(ctrl+shit+F12)&mdash;&mdash;&gt;actionscript设置&mdash;&mdash;&gt;</p>
<p>&nbsp;</p>
<p>二、解决编译后(ctrl+enter)，swf文件太大(6M多)的问题</p>
<p>删除fla文件里的一个字体文件</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/194646#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 19 May 2008 22:56:50 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/194646</link>
        <guid>http://hama.javaeye.com/blog/194646</guid>
      </item>
      <item>
        <title>mysql select into outfile</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/191439" style="color:red;">http://hama.javaeye.com/blog/191439</a>&nbsp;
          发表时间: 2008年05月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>虽然我一直用EMS</p>
<p>不过这一句还是要知道的：</p>
<p>select * from someTable into outfile 'D:\\aaa.txt';&nbsp;</p>
<p>还有以下option：</p>
<p><br />&nbsp;FIELDS TERMINATED BY ',' ENCLOSED BY '"';<br />&nbsp;<br />&nbsp;LINES TERMINATED BY '\n';</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/191439#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 09 May 2008 14:44:22 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/191439</link>
        <guid>http://hama.javaeye.com/blog/191439</guid>
      </item>
      <item>
        <title>zt:基于javascript的拼音字典及应用举例 </title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/182847" style="color:red;">http://hama.javaeye.com/blog/182847</a>&nbsp;
          发表时间: 2008年04月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>不论是浏览器还是操作系统，对中文的支持已经有了长足的进步，但是在一些细节方面仍然存在不足。比如，在windows文件浏览时，我们可以通过按下文件夹名的首字母来快速定位文件夹，但是对于文件夹名为中文的文件夹却无能为力。类似的，在网页浏览中，也存在类似问题。这种问题不会妨碍使用，但却伤害体验。本文分两部分，第一部分简单介绍基于javascript的拼音字典的构造方法；第二部分简单介绍几个应用。<br /><br /><strong>创建基于javascript的拼音字典</strong><br />之所以基于javascript，是为了获取较高的相应速度，同时减少服务端的压力。我在字典设计时有两个目标：一是查询速度要足够快；二是字典要尽量小。怎么样足够快？数组；怎样尽量小？压缩！好，让我们开始设计吧：</p>
<ul>
<li><strong>字典准备</strong><br />找一个<a href="http://wiki.w3china.org/wiki/index.php/GB2312%E6%B1%89%E5%AD%97%E6%8B%BC%E9%9F%B3%E5%AF%B9%E7%85%A7%E8%A1%A8"><span style="color: #459045;">汉字拼音对照表</span></a>，用正则表达式将这些汉字与拼音关联起来创建对象字典（为了简单，忽略了多音字）。<br />结果类似于 a["爱"]='ai',a['我']='wo'&hellip;&hellip; </li>
<li><strong>转换为数组</strong><br />利用汉字具有唯一ascii码值这一特点，将汉字与拼音的对应关系转换为ascii与拼音的对应关系。javascript求中文的ascii码的函数是charCodeAt()。比如'爱'的ascii码是29233,'我'的ascii码是25105&hellip;&hellip;则可以将对象字典转换为数组字典：a[29233]='ai',a[25105]='wo'&hellip;&hellip;<br />数组字典就完成了。转换以后，要查找爱的拼音，可以这样：a['爱'.charCodeAt()]，方便快捷吧？ </li>
<li><strong>压缩数组字典</strong><br />我使用了三个压缩来压缩字典。<br />第一个压缩是减小数组空间。因为汉字的ascii值往往比较大，最小的也将近20000。所以我们可以将数组的索引往前平移，我采用的值是18000，为了确保安全，我留出了一定盈余空间。<br />平移后的数组字典为：a[29233-18000]='ai',a[25205-18000]='wo'&hellip;&hellip;<br />第二个压缩是减少数据的重复。在字典的近7000个汉字中，读音的种类是较少的。将所有读音种类存到数组b内，然后在数组字典a内记录读音在b中的索引即可。<br />比如'ai'在b中的索引为1，则数组字典变为 a[11233]=1&hellip;&hellip;<br />这个时候要查找'爱'的拼音，可以这样 b[a['爱'.charCodeAt()-18000]]<br />第三个压缩时gzip压缩，这个以后单独在另外的文章中探讨。
<p>&nbsp;</p>
</li>
</ul>
<p>经过这几步，简单的字典基本设计好了:<a href="http://demo.rssidea.com/js/ChineseAscii_pack.js"><span style="color: #459045;">字典下载（13k）</span></a>。这个文件，如果用浏览器直接下载保存，是未Gzip压缩版，约40k。压缩版需要用下载工具下载，约13k。</p>
<p><strong>字典应用举例</strong><br />我已经将几个应用整理到一个页面中，您可以直接观看<a href="http://demo.rssidea.com/Chinease.html"><span style="color: #459045;">效果演示</span></a>。</p>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/182847#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 15 Apr 2008 11:56:18 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/182847</link>
        <guid>http://hama.javaeye.com/blog/182847</guid>
      </item>
      <item>
        <title>ant copy task</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/167804" style="color:red;">http://hama.javaeye.com/blog/167804</a>&nbsp;
          发表时间: 2008年03月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          复制肯定还要涉及到同名覆盖的问题，ant在copy类的API中说明：Files are only copied if the source file is newer than the destination file，这里的newer是指文件的修改时间，即使你在修改时文件内容没有任何变化，只是导致修改时间变了，ant同样会覆盖同名文件，也就是说，ant不会检查文件内容。<br /><br />      对于是复制目录的情况，由于目录没有修改时间，ant还是通过检查目录内文件的修改时间来决定是否覆盖的，若目录内某文件修改时间有变化，则会覆盖这个文件，而不是整个目录。<br /><br />如果要强行覆盖，&lt;copy/>有个overwrite属性，默认为false，改成true就行了
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/167804#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 04 Mar 2008 16:53:07 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/167804</link>
        <guid>http://hama.javaeye.com/blog/167804</guid>
      </item>
      <item>
        <title>google baidu referer 信息的解码</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/166902" style="color:red;">http://hama.javaeye.com/blog/166902</a>&nbsp;
          发表时间: 2008年03月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          java的编码真是麻烦，如果用python就简单了<br /><pre name="code" class="java">    public static Map refererInfoGen(String referer){
    	Map retMap = new HashMap();
    	String site = "";
    	String keyword = "";
    	try{
	    	if(!empty(referer)&&referer.indexOf("/")>-1&&referer.indexOf("&")>-1){
		    	referer=referer.replaceAll(("http://"),"");
		    	int index = referer.indexOf("/");
		    	site = referer.substring(0, index);
		    	int index2 = referer.indexOf("?");
		    	String subReferer = referer.substring(index2+1);
		    	String[] paras = subReferer.split("&");
		    	Map paraMap = new HashMap();
		    	for(String para : paras){
		    		String[] temp = para.split("=");
		    		if(temp.length==2){
		    			paraMap.put(temp[0], temp[1]);
		    		}
		    	}
		    	if(site.indexOf("google")>-1){//from google
		    		if(!empty(paraMap.get("q"))){
			    		site = "google";
			    		keyword = decode(paraMap.get("q").toUpperCase().replaceAll("%", "").replaceAll("\\+", encode(" ")),"UTF-8");//google UTF-8
		    		}
		    	}else if(site.indexOf("baidu")>-1){//from baidu
		    		if(!empty(paraMap.get("wd"))){
			    		site = "baidu";
			    		keyword = decode(paraMap.get("wd").replaceAll("%", "").replaceAll("\\+", encode(" ").toUpperCase()),"GBK");//baidu GBK
		    		}
		    	}else{
		    		site = "";
		    	}
	    	}
    	}catch(Exception e){
    		site = "";
        	keyword = "";
        	log.error("referer error======>"+referer==null?"":referer);
    		e.printStackTrace();
    	}
    	retMap.put("site", site);
    	retMap.put("keyword", keyword);
    	return retMap;
    }
    private static String hexString = "0123456789ABCDEF ";

	public static String encode(String str) {
		byte[] bytes = str.getBytes();
		StringBuilder sb = new StringBuilder(bytes.length * 2);
		for (int i = 0; i &lt; bytes.length; i++) {
			sb.append(hexString.charAt((bytes[i] & 0xf0) >> 4));
			sb.append(hexString.charAt((bytes[i] & 0x0f) >> 0));
		}
		return sb.toString();
	}

	public static String decode(String bytes, String code) {
		ByteArrayOutputStream baos = new ByteArrayOutputStream(
				bytes.length() / 2);
		for (int i = 0; i &lt; bytes.length(); i += 2)
			baos.write((hexString.indexOf(bytes.charAt(i)) &lt;&lt; 4 | hexString
					.indexOf(bytes.charAt(i + 1))));
		String s = "";
		try {
			s = new String(baos.toByteArray(), code);
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
		return s;
	}</pre>
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/166902#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 03 Mar 2008 13:29:05 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/166902</link>
        <guid>http://hama.javaeye.com/blog/166902</guid>
      </item>
      <item>
        <title>令人沮丧的一天</title>
        <author>hama</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://hama.javaeye.com">hama</a>&nbsp;
          链接：<a href="http://hama.javaeye.com/blog/151733" style="color:red;">http://hama.javaeye.com/blog/151733</a>&nbsp;
          发表时间: 2007年12月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          两天之内，两位好朋友的至亲之人相继去世！我现在不好打扰他们，希望他们可以节哀！
          <br/>
          <span style="color:red;">
            <a href="http://hama.javaeye.com/blog/151733#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 29 Dec 2007 11:28:34 +0800</pubDate>
        <link>http://hama.javaeye.com/blog/151733</link>
        <guid>http://hama.javaeye.com/blog/151733</guid>
      </item>
  </channel>
</rss>