<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>zhongzhihua</title>
    <description></description>
    <link>http://zhongzhihua.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>Exception in thread &quot;main&quot; java.lang.ClassCastExce</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/201712" style="color:red;">http://zhongzhihua.javaeye.com/blog/201712</a>&nbsp;
          发表时间: 2008年06月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">Exception in thread "main" java.lang.ClassCastException: $Proxy1</pre><br />这是<pre name="code" class="java">ApplicationContext ctx = new ClassPathXmlApplicationContext("/dao-applicationContext.xml", userService.class);
//		Object o=ctx.getBean("userService");
//		System.out.print(o.getClass().toString());
		IUserService userService2 = (IUserService) ctx.getBean("userService");</pre><br /><br />ctx.getBean("userService")要转换成接口,不能转换成实现类,否则会出上面的异常!
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/201712#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 10 Jun 2008 11:31:30 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/201712</link>
        <guid>http://zhongzhihua.javaeye.com/blog/201712</guid>
      </item>
      <item>
        <title>org.springframework.beans.factory.BeanCreationExce</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/201705" style="color:red;">http://zhongzhihua.javaeye.com/blog/201705</a>&nbsp;
          发表时间: 2008年06月10日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="java">Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [/dao-applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: warning no match for this type name: com.ssh.website.service.impl [Xlint:invalidAbsoluteTypeName]
Caused by: java.lang.IllegalArgumentException: warning no match for this type name: com.ssh.website.service.impl [Xlint:invalidAbsoluteTypeName]
	at org.aspectj.weaver.tools.PointcutParser.parsePointcutExpression(PointcutParser.java:315)
	at org.springframework.aop.aspectj.AspectJExpressionPointcut.buildPointcutExpression(AspectJExpressionPointcut.java:189)
	at org.springframework.aop.aspectj.AspectJExpressionPointcut.checkReadyToMatch(AspectJExpressionPointcut.java:176)
	at org.springframework.aop.aspectj.AspectJExpressionPointcut.getClassFilter(AspectJExpressionPointcut.java:157)
	at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:179)
	at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:236)
	at org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:270)
	at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:83)
	at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:66)
	at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:296)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:312)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1180)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:425)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:251)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:156)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:248)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:287)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
	at org.springframework.context.support.ClassPathXmlApplicationContext.&lt;init>(ClassPathXmlApplicationContext.java:184)
	at org.springframework.context.support.ClassPathXmlApplicationContext.&lt;init>(ClassPathXmlApplicationContext.java:159)
	at org.springframework.context.support.ClassPathXmlApplicationContext.&lt;init>(ClassPathXmlApplicationContext.java:145)
	at com.ssh.website.test.userServiceTest.main(userServiceTest.java:25)
</pre><br />这是因为aop中的expression的路径不对,只要是xml文件有错,都会有异常!
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/201705#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 10 Jun 2008 11:18:57 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/201705</link>
        <guid>http://zhongzhihua.javaeye.com/blog/201705</guid>
      </item>
      <item>
        <title>Spring 2.0 AOP 与事务配置</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/200827" style="color:red;">http://zhongzhihua.javaeye.com/blog/200827</a>&nbsp;
          发表时间: 2008年06月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <a href="http://www.javaeye.com/topic/75934" target="_blank">http://www.javaeye.com/topic/75934</a><br /><br /><a href="http://www.javaeye.com/topic/141048" target="_blank">http://www.javaeye.com/topic/141048</a><br /><br /><a href="http://www.javaeye.com/topic/141350" target="_blank">http://www.javaeye.com/topic/141350</a><br /><br /><a href="http://www.javaeye.com/topic/109075" target="_blank">http://www.javaeye.com/topic/109075</a><br /><br /><a href="http://www.javaeye.com/topic/4519" target="_blank">http://www.javaeye.com/topic/4519</a><br /><br /><a href="http://www.javaeye.com/topic/39899" target="_blank">http://www.javaeye.com/topic/39899</a>
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/200827#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 06 Jun 2008 11:11:42 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/200827</link>
        <guid>http://zhongzhihua.javaeye.com/blog/200827</guid>
      </item>
      <item>
        <title>springinaction源程序3</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/199380" style="color:red;">http://zhongzhihua.javaeye.com/blog/199380</a>&nbsp;
          发表时间: 2008年06月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          spring
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/199380#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 02 Jun 2008 12:25:49 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/199380</link>
        <guid>http://zhongzhihua.javaeye.com/blog/199380</guid>
      </item>
      <item>
        <title>springinaction源程序2</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/199379" style="color:red;">http://zhongzhihua.javaeye.com/blog/199379</a>&nbsp;
          发表时间: 2008年06月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          spring
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/199379#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 02 Jun 2008 12:24:27 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/199379</link>
        <guid>http://zhongzhihua.javaeye.com/blog/199379</guid>
      </item>
      <item>
        <title>springinaction源程序</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/199367" style="color:red;">http://zhongzhihua.javaeye.com/blog/199367</a>&nbsp;
          发表时间: 2008年06月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          spring
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/199367#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 02 Jun 2008 11:54:22 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/199367</link>
        <guid>http://zhongzhihua.javaeye.com/blog/199367</guid>
      </item>
      <item>
        <title>双色球选号法则</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/156371" style="color:red;">http://zhongzhihua.javaeye.com/blog/156371</a>&nbsp;
          发表时间: 2008年01月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          一、多次放弃法。在33个红球号码里，按照常用的投注方法每次选择6个号码并予以放弃，进行4次以后，在剩余的9个号码中再进行投注组合。这种方法可以消除你的惯性思维模式，那些长期未中奖、每次选号又离中奖号码较远的彩民不妨尝试一下。<br /><br />二、历史演绎法。对数十期中奖号码进行分析可以发现，开奖次数越多，中奖号码无论是在区间分布还是在其他技术参数上，雷同的可能性就越大。有些彩民注重从历史号码中“淘金”，他们往往对二三十期前的中奖号码仔细研究，在参考当前出号的基础上，选择某期认为比较合适的号码，进行简单改动之后拿来进行新—期的投注。<br /><br /><br />三、热球延伸法。准确圈定最近几期的热球，并根据其出现的频率排序，对这些热球前后1-2个号码重点关注，纳入选号视线，以准确选择出号区间。这种方法既保持了重点区间出号的惯性，又兼顾了在这种区间内的号码由热球向冷球的过渡，同时达到了缩号的目的，扩大了号码的涵盖区间，可谓一举多得。
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/156371#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 16 Jan 2008 09:38:29 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/156371</link>
        <guid>http://zhongzhihua.javaeye.com/blog/156371</guid>
      </item>
      <item>
        <title>双色球杀号集锦</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/156370" style="color:red;">http://zhongzhihua.javaeye.com/blog/156370</a>&nbsp;
          发表时间: 2008年01月16日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          杀号可以大大缩小选号范围，因此深受彩民喜爱。下面介绍一些双色球杀号的方法，供彩民朋友在选号时参考运用。<br /><br />●大盘冷热杀号。杀号可以先确定一个范围，比如：奇偶、大小、区域，当期号码是奇数多还是偶数多，具体可能在哪几个区域出现，该杀大号还是小号，根据走势把与近期趋势相左的号码杀了。<br /><br /><br />在选定范围的同时还要确定当期是否有偏态，一般当热区突然冷下来时应该引起注意，可以选择性地杀去热区的号码。<br /><br /><br />●利用减法杀号。减法杀号即利用上期开奖红球每两个号码相减的绝对值作为下期杀号，也可以利用上两期顺序开奖号码一一对应相减的绝对值作为下一期杀号。此外，还可以利用上期开奖的红球号码减去蓝球号码的绝对值作为杀号依据。<br /><br /><br />●利用尾数杀号。双色球的10个尾数单独来考察，可以从10个待选尾数中排除不会出的1-2个尾数。<br /><br /><br />把双色球的6个红球开奖号码按照前三位、后三位划分，可形成更细的杀号。前三位奖号对应2-3个尾数，后三位奖号对应2-3个尾数，前三位的号码一般在01至16这个范围内，后三位奖号一般在17-33。将前三位奖号对应的2-3个尾数中的最大号码可以排除，比如看好尾数1，只需要选择01、11，而不需要把01、11、21、31都选择上。<br /><br /><br />●利用断区杀号。断区在双色球开奖号码中是一种比较常见的现象，尤其是按照17定盘中位，左右各均分两区，形成01-08、09-16、18-25、26-33这四个区间的时候，断区就更容易发生了，通过断区来杀号是非常有效的。<br /><br /><br />●利用最近三期奖号来杀号。可以考虑重复号的个数，在上期开出的6个号码中排除号码。隔一期号码大多数情况下为1个，通过确定1个隔期号，可以把隔一期号码中的其他号码杀掉。同样道理，对间隔两期的号码，也可以排除掉3—4个。<br /><br /><br />●利用质数杀号。双色球的质数号码一共有12个，分别是：02、03、05、07、11、13、17、19、23、29、31和33，一般情况下，每期质数号码会开出1—3个，每期可考虑4个质数号码，把剩余的8个质数号码排除掉。<br /><br /><br />●空行空列杀号。将双色球的33个红球号码分为6行6列，只要判断出哪一行或哪一列出现空缺，便可化33选6为27选6，然后结合历史行列伴侣出号的习惯及近期的开奖情况进行再次分析。在实战中发现2行2列、2行1列或2列1行、3行2列或3列2行出现空缺的情况占有极高的概率，掌握好最佳的切入点，便可杀掉双色球红球近半数的号码组合。<br /><br /><br />●利用除3余数杀号。按照除3余0、余1、余2的分法，双色球的33个红球号码可以分成均等的三组号码，每组都有11个号码。在考虑号码的时候，如果我们从每组余数类型里都挑选出6个号码，则每组余数将剩余5个号码。也就是说，每期至少可以从每组余数类型里面排除掉5个号码，这样下来，一共是排除掉15个号码。这样排除，是比较保险的，如果没有把握，则可从每组余数类型里排除掉3个号码，相当于每次排除掉9个号码，这样就更稳妥了。<br /><br /><br />在每一期的开奖中，或者某一个阶段的开奖中，这三类除3余数的号码总是会有冷热的区分，在某个余数类型的号码热出时，可以追捧，在某个余数类型的号码冷藏时，可以大胆排除。
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/156370#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 16 Jan 2008 09:37:55 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/156370</link>
        <guid>http://zhongzhihua.javaeye.com/blog/156370</guid>
      </item>
      <item>
        <title>修饰Tree</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/112461" style="color:red;">http://zhongzhihua.javaeye.com/blog/112461</a>&nbsp;
          发表时间: 2007年08月15日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><a style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; FONT-SIZE: 24px; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; TEXT-ALIGN: left">十、皮肤</a></p>
<h2>10.1 修饰Tree</h2>
<ul>
    <li><strong>::-moz-tree-cell</strong>:：一个单元格，可以定义边框和背景 </li>
    <li><strong>::-moz-tree-cell-text</strong>：单元格里面的文字，可以设置字体和颜色 </li>
    <li><strong>::-moz-tree-twisty</strong>：展开和折叠子目录时边缘的图标 </li>
    <li><strong>::-moz-tree-image</strong>：单元格的图标，可以使用list-style-image属性进行设置 </li>
    <li><strong>::-moz-tree-row</strong>：行，可以设置一整行的背景颜色 </li>
    <li><strong>::-moz-tree-indentation</strong>：展开下级菜单时左边的空白缺口 </li>
    <li><strong>::-moz-tree-column</strong>:：列 </li>
    <li><strong>::-moz-tree-line</strong>：连接子父级的线，可用visibility: hidden;隐藏 </li>
    <li><strong>::-moz-tree-separator</strong>：分割条 </li>
    <li><strong>::-moz-tree-progressmeter</strong>：条目栏，你可以用type属性在列里创建progressmeter </li>
    <li><strong>::-moz-tree-drop-feedback</strong>：拖动反应 </li>
    <li><strong>::-moz-tree-checkbox</strong>：设置使用检验框的列的图像</li>
</ul>
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/112461#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Wed, 15 Aug 2007 10:55:30 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/112461</link>
        <guid>http://zhongzhihua.javaeye.com/blog/112461</guid>
      </item>
      <item>
        <title>controller用法</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/87624" style="color:red;">http://zhongzhihua.javaeye.com/blog/87624</a>&nbsp;
          发表时间: 2007年06月07日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>怎么样对xul中进行控制,实现mvc的模式呢?自己要创建一个controller,如 </p>
<p>var gController={</p>
<p><font face="Arial">&nbsp;commands: {}</font></p>
<p>docommand:{}//这是对docommand方法的捕获事件</p>
<p>handleEvent: function handleEvent(event){</p>
<p><font face="Arial">&nbsp;switch (event.type) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; case &quot;click&quot;:</font></p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.click();</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; break;</p>
<p>}</p>
<p>}</p>
<p>click: function click(event){</p>
<p>alert(&quot;click&quot;);</p>
<p>}//这是对eventListener事件的捕获</p>
<p>}</p>
<p>如你要捕获click事件,只要加上window.addEventListener(&quot;click&quot;,gController,true);</p>
<p>这样它就会去调用handleEvent的方法了,最后还要在load方法中加上<font face="Arial">&nbsp;window.controllers.appendController(gController); </font></p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/87624#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Thu, 07 Jun 2007 11:27:45 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/87624</link>
        <guid>http://zhongzhihua.javaeye.com/blog/87624</guid>
      </item>
      <item>
        <title>DragAndDrop</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/78894" style="color:red;">http://zhongzhihua.javaeye.com/blog/78894</a>&nbsp;
          发表时间: 2007年05月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>xul文件:</p>
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;?</span><span class="tag-name">xml</span><span>&nbsp;</span><span class="attribute">version</span><span>=</span><span class="attribute-value">&quot;1.0&quot;</span><span class="tag">?&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span></span><span class="tag">&lt;?</span><span class="tag-name">xml-stylesheet</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;chrome://global/skin/&quot;</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;text/css&quot;</span><span class="tag">?&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="tag">&lt;</span><span class="tag-name">window</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;Widget&nbsp;Dragger&quot;</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;test-window&quot;</span><span>&nbsp;</span><span class="attribute">orient</span><span>=</span><span class="attribute-value">&quot;horizontal&quot;</span><span>&nbsp;</span><span class="attribute">xmlns</span><span>=</span><span class="attribute-value">&quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">script</span><span>&nbsp;</span><span class="attribute">src</span><span>=</span><span class="attribute-value">&quot;chrome://global/content/nsDragAndDrop.js&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">script</span><span>&nbsp;</span><span class="attribute">src</span><span>=</span><span class="attribute-value">&quot;chrome://global/content/nsTransferable.js&quot;</span><span class="tag">/&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">script</span><span>&nbsp;</span><span class="attribute">src</span><span>=</span><span class="attribute-value">&quot;script/DragAndDrop.js&quot;</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">stack</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;board&quot;</span><span>&nbsp;</span><span class="attribute">style</span><span>=</span><span class="attribute-value">&quot;width:300px;&nbsp;height:&nbsp;300px;&nbsp;max-width:&nbsp;300px;&nbsp;max-height:&nbsp;300px&quot;</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">ondragexit</span><span>=</span><span class="attribute-value">&quot;&nbsp;alert(2)&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">ondragover</span><span>=</span><span class="attribute-value">&quot;nsDragAndDrop.dragOver(event,boardObserver)&quot;</span><span>&nbsp;</span><span class="attribute">ondragdrop</span><span>=</span><span class="attribute-value">&quot;nsDragAndDrop.drop(event,boardObserver)&quot;</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">stack</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">vbox</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">button</span><span>&nbsp;</span><span class="attribute">label</span><span>=</span><span class="attribute-value">&quot;Button&quot;</span><span>&nbsp;</span><span class="attribute">elem</span><span>=</span><span class="attribute-value">&quot;button&quot;</span><span>&nbsp;</span><span class="attribute">ondraggesture</span><span>=</span><span class="attribute-value">&quot;nsDragAndDrop.startDrag(event,listObserver)&quot;</span><span class="tag">/&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">button</span><span>&nbsp;</span><span class="attribute">label</span><span>=</span><span class="attribute-value">&quot;Check&nbsp;Box&quot;</span><span>&nbsp;</span><span class="attribute">elem</span><span>=</span><span class="attribute-value">&quot;checkbox&quot;</span><span>&nbsp;</span><span class="attribute">ondraggesture</span><span>=</span><span class="attribute-value">&quot;nsDragAndDrop.startDrag(event,listObserver)&quot;</span><span class="tag">/&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">button</span><span>&nbsp;</span><span class="attribute">label</span><span>=</span><span class="attribute-value">&quot;Text&nbsp;Box&quot;</span><span>&nbsp;</span><span class="attribute">elem</span><span>=</span><span class="attribute-value">&quot;textbox&quot;</span><span>&nbsp;</span><span class="attribute">ondraggesture</span><span>=</span><span class="attribute-value">&quot;nsDragAndDrop.startDrag(event,listObserver)&quot;</span><span class="tag">/&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">vbox</span><span class="tag">&gt;</span><span>&nbsp; &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">window</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;&nbsp;</span></li>
</ol>
</div>
<p><font face="Arial">ondragexit是拖放后的事件,<font face="Arial">ondragenter是刚拖进去时触发的事件，</font></font></p>
<p>js文件:<font face="Arial">var listObserver = { <br />
&nbsp; &nbsp;onDragStart: function (evt,transferData,action){<br />
&nbsp; &nbsp;&nbsp; var txt=evt.target.getAttribute(&quot;elem&quot;); <br />
&nbsp; &nbsp;&nbsp; transferData.data=new TransferData(); <br />
&nbsp; &nbsp;&nbsp; transferData.data.addDataForFlavour(&quot;text/unicode&quot;,txt); }<br />
&nbsp; &nbsp;//&nbsp;transferData.data.addDataForFlavour(&quot;text/html&quot;,txt); }<br />
&nbsp; &nbsp; };<br />
&nbsp;&nbsp; &nbsp;&nbsp;var boardObserver = { <br />
&nbsp;&nbsp; &nbsp;&nbsp;getSupportedFlavours : function () {<br />
&nbsp;&nbsp; &nbsp;&nbsp; var flavours = new FlavourSet();<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; flavours.appendFlavour(&quot;text/unicode&quot;); return flavours; <br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }, <br />
&nbsp;&nbsp; &nbsp;&nbsp;onDragOver: function (evt,flavour,session){},<br />
&nbsp;&nbsp; &nbsp;&nbsp;onDrop: function (evt,dropdata,session){<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (dropdata.data!=&quot;&quot;){<br />
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; var elem=document.createElement(dropdata.data); <br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; evt.target.appendChild(elem); <br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elem.setAttribute(&quot;left&quot;,&quot;&quot;+evt.pageX); <br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elem.setAttribute(&quot;top&quot;,&quot;&quot;+evt.pageY); <br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elem.setAttribute(&quot;label&quot;,dropdata.data);&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }; </font></p>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/78894#comments" style="color:red;">已有 <strong>1</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 11 May 2007 15:56:01 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/78894</link>
        <guid>http://zhongzhihua.javaeye.com/blog/78894</guid>
      </item>
      <item>
        <title>tree的点击事件</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/78300" style="color:red;">http://zhongzhihua.javaeye.com/blog/78300</a>&nbsp;
          发表时间: 2007年05月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;?</span><span class="tag-name">xml</span><span>&nbsp;</span><span class="attribute">version</span><span>=</span><span class="attribute-value">&quot;1.0&quot;</span><span class="tag">?&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="tag">&lt;?</span><span class="tag-name">xml-stylesheet</span><span>&nbsp;</span><span class="attribute">href</span><span>=</span><span class="attribute-value">&quot;chrome://global/skin/&quot;</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;text/css&quot;</span><span class="tag">?&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="tag">&lt;</span><span class="tag-name">window</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;treeRDF&quot;</span><span>&nbsp;</span><span class="attribute">title</span><span>=</span><span class="attribute-value">&quot;RDF&nbsp;Tree&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">xmlns</span><span>=</span><span class="attribute-value">&quot;http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="tag">&lt;</span><span class="tag-name">script</span><span>&nbsp;&nbsp;</span><span class="attribute">src</span><span>=</span><span class="attribute-value">&quot;script/tree.js&quot;</span><span>&nbsp;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;</span><span class="tag-name">label</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">&quot;Things&nbsp;in&nbsp;my&nbsp;house:&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;</span><span class="tag-name">tree</span><span>&nbsp;</span><span class="attribute">flex</span><span>=</span><span class="attribute-value">&quot;1&quot;</span><span>&nbsp;</span><span class="attribute">width</span><span>=</span><span class="attribute-value">&quot;450&quot;</span><span>&nbsp;</span><span class="attribute">height</span><span>=</span><span class="attribute-value">&quot;300&quot;</span><span>&nbsp;</span><span class="attribute">seltype</span><span>=</span><span class="attribute-value">&quot;single&quot;</span><span>&nbsp;</span><span class="attribute">onselect</span><span>=</span><span class="attribute-value">&quot;onAccountClick('tree2')&quot;</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;tree2&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">datasources</span><span>=</span><span class="attribute-value">&quot;things.rdf&quot;</span><span>&nbsp;</span><span class="attribute">ref</span><span>=</span><span class="attribute-value">&quot;urn:things:root&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">treecols</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">treecol</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;name&quot;</span><span>&nbsp;</span><span class="attribute">label</span><span>=</span><span class="attribute-value">&quot;Name&quot;</span><span>&nbsp;</span><span class="attribute">primary</span><span>=</span><span class="attribute-value">&quot;true&quot;</span><span>&nbsp;</span><span class="attribute">flex</span><span>=</span><span class="attribute-value">&quot;1&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">treecol</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;material&quot;</span><span>&nbsp;</span><span class="attribute">label</span><span>=</span><span class="attribute-value">&quot;Material&quot;</span><span>&nbsp;</span><span class="attribute">flex</span><span>=</span><span class="attribute-value">&quot;1&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">treecols</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">template</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">treechildren</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">treeitem</span><span>&nbsp;</span><span class="attribute">uri</span><span>=</span><span class="attribute-value">&quot;rdf:*&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">treerow</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">treecell</span><span>&nbsp;</span><span class="attribute">label</span><span>=</span><span class="attribute-value">&quot;rdf:http://www.xulplanet.com/rdf/example#name&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">treecell</span><span>&nbsp;</span><span class="attribute">label</span><span>=</span><span class="attribute-value">&quot;rdf:http://www.xulplanet.com/rdf/example#material&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">treerow</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">treeitem</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">treechildren</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">template</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;/</span><span class="tag-name">tree</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;/</span><span class="tag-name">window</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
</ol>
</div>
这是xul页面，我是通过rdf传数据的，它的rdf文件是这样的，文件名叫things.rdf
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;?</span><span class="tag-name">xml</span><span>&nbsp;</span><span class="attribute">version</span><span>=</span><span class="attribute-value">&quot;1.0&quot;</span><span class="tag">?&gt;</span><span>&nbsp;&nbsp;</span></span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="tag">&lt;</span><span class="tag-name">RDF:RDF</span><span>&nbsp;</span><span class="attribute">xmlns:RDF</span><span>=</span><span class="attribute-value">&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="attribute">xmlns:things</span><span>=</span><span class="attribute-value">&quot;http://www.xulplanet.com/rdf/example#&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Description</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:kitchen&quot;</span><span>&nbsp;</span><span class="attribute">things:name</span><span>=</span><span class="attribute-value">&quot;Kitchen&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Description</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:bedroom&quot;</span><span>&nbsp;</span><span class="attribute">things:name</span><span>=</span><span class="attribute-value">&quot;Bedroom&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Description</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:basement&quot;</span><span>&nbsp;</span><span class="attribute">things:name</span><span>=</span><span class="attribute-value">&quot;Basement&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Description</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:toaster&quot;</span><span>&nbsp;</span><span class="attribute">things:name</span><span>=</span><span class="attribute-value">&quot;Toaster&quot;</span><span>&nbsp;</span><span class="attribute">things:material</span><span>=</span><span class="attribute-value">&quot;Aluminum&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Description</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:sink&quot;</span><span>&nbsp;</span><span class="attribute">things:name</span><span>=</span><span class="attribute-value">&quot;Sink&quot;</span><span>&nbsp;</span><span class="attribute">things:material</span><span>=</span><span class="attribute-value">&quot;Steel&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Description</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:spicerack&quot;</span><span>&nbsp;</span><span class="attribute">things:name</span><span>=</span><span class="attribute-value">&quot;Spice&nbsp;Rack&quot;</span><span>&nbsp;</span><span class="attribute">things:material</span><span>=</span><span class="attribute-value">&quot;Cedar&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Description</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:bed&quot;</span><span>&nbsp;</span><span class="attribute">things:name</span><span>=</span><span class="attribute-value">&quot;Bed&quot;</span><span>&nbsp;</span><span class="attribute">things:material</span><span>=</span><span class="attribute-value">&quot;Oak&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Description</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:lavalamp&quot;</span><span>&nbsp;</span><span class="attribute">things:name</span><span>=</span><span class="attribute-value">&quot;Lava&nbsp;Lamp&quot;</span><span>&nbsp;</span><span class="attribute">things:material</span><span>=</span><span class="attribute-value">&quot;Lava&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Description</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:junk&quot;</span><span>&nbsp;</span><span class="attribute">things:name</span><span>=</span><span class="attribute-value">&quot;Junk&quot;</span><span>&nbsp;</span><span class="attribute">things:material</span><span>=</span><span class="attribute-value">&quot;Unknown&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Description</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:morejunk&quot;</span><span>&nbsp;</span><span class="attribute">things:name</span><span>=</span><span class="attribute-value">&quot;More&nbsp;Junk&quot;</span><span>&nbsp;</span><span class="attribute">things:material</span><span>=</span><span class="attribute-value">&quot;Unknown&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Description</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:coffin&quot;</span><span>&nbsp;</span><span class="attribute">things:name</span><span>=</span><span class="attribute-value">&quot;Coffin&quot;</span><span>&nbsp;</span><span class="attribute">things:material</span><span>=</span><span class="attribute-value">&quot;Pine&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Seq</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:root&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Seq</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:kitchen&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:li</span><span>&nbsp;</span><span class="attribute">resource</span><span>=</span><span class="attribute-value">&quot;urn:things:toaster&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:li</span><span>&nbsp;</span><span class="attribute">resource</span><span>=</span><span class="attribute-value">&quot;urn:things:sink&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:li</span><span>&nbsp;</span><span class="attribute">resource</span><span>=</span><span class="attribute-value">&quot;urn:things:spicerack&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">RDF:Seq</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Seq</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:bedroom&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:li</span><span>&nbsp;</span><span class="attribute">resource</span><span>=</span><span class="attribute-value">&quot;urn:things:bed&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:li</span><span>&nbsp;</span><span class="attribute">resource</span><span>=</span><span class="attribute-value">&quot;urn:things:lavalamp&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">RDF:Seq</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:Seq</span><span>&nbsp;</span><span class="attribute">about</span><span>=</span><span class="attribute-value">&quot;urn:things:basement&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:li</span><span>&nbsp;</span><span class="attribute">resource</span><span>=</span><span class="attribute-value">&quot;urn:things:junk&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:li</span><span>&nbsp;</span><span class="attribute">resource</span><span>=</span><span class="attribute-value">&quot;urn:things:morejunk&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">RDF:li</span><span>&nbsp;</span><span class="attribute">resource</span><span>=</span><span class="attribute-value">&quot;urn:things:coffin&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">RDF:Seq</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">RDF:li</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="tag">&lt;/</span><span class="tag-name">RDF:Seq</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;/</span><span class="tag-name">RDF:RDF</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
</ol>
</div>
<p>js代码：<font face="Arial">function onAccountClick(treeID)<br />
{<br />
&nbsp; var tree =&nbsp; document.getElementById(treeID);<br />
&nbsp;&nbsp;&nbsp; var selection = tree.contentView.getItemAtIndex( tree.currentIndex );<br />
&nbsp;&nbsp;&nbsp; var foo = selection.firstChild.firstChild.getAttribute(&quot;label&quot;);<br />
&nbsp;&nbsp;&nbsp; alert(foo);<br />
}</font></p>
<p>这里要注意的是tree.contentView.getItemAtIndex( tree.currentIndex );<br />
不是所有的tree都有getItemAtIndex这个方法，只有Content Tree和RDF Content Tree这两种类型的树才有，你可以用alert(tree.contentView)就可以知道是哪种类型的树了．</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/78300#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 09 May 2007 18:05:56 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/78300</link>
        <guid>http://zhongzhihua.javaeye.com/blog/78300</guid>
      </item>
      <item>
        <title>javascript表单之间的数据传递 </title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/78221" style="color:red;">http://zhongzhihua.javaeye.com/blog/78221</a>&nbsp;
          发表时间: 2007年05月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="code_title"></div>
<span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span><span>
<div class="code_title">xml 代码</div>
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-xml">
    <li class="alt"><span><span>javascript表单之间的数据传递&nbsp; &nbsp;&nbsp;</span></span></li>
    <li class=""><span>一，最简单的就是同一个网页里的表单的数据传递。&nbsp; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;举个实例，一个网页上有两个表单，每个表单里一个文本框，一个按钮。点按钮互相对操作对方的文本框的值。我们举的例子是把一个文本框付给另一个文本框。具体的HTML代码如下： &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>CODE:</span><span class="tag">&lt;</span><span class="tag-name">html</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;</span><span class="tag-name">head</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="tag">&lt;</span><span class="tag-name">title</span><span class="tag">&gt;</span><span>Untitled&nbsp;Document</span><span class="tag">&lt;/</span><span class="tag-name">title</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;</span><span class="tag-name">meta</span><span>&nbsp;</span><span class="attribute">http-equiv</span><span>=</span><span class="attribute-value">&quot;Content-Type&quot;</span><span>&nbsp;</span><span class="attribute">content</span><span>=</span><span class="attribute-value">&quot;text/html;&nbsp;charset=gb2312&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="tag">&lt;/</span><span class="tag-name">head</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;</span><span class="tag-name">body</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;</span><span class="tag-name">form</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;form1&quot;</span><span>&nbsp;</span><span class="attribute">method</span><span>=</span><span class="attribute-value">&quot;post&quot;</span><span>&nbsp;</span><span class="attribute">action</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;text&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;textfield&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;button&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;Submit&quot;</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">&quot;1---------&amp;gt;2&quot;</span><span>&nbsp;</span><span class="attribute">onClick</span><span>=</span><span class="attribute-value">&quot;ok()&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="tag">&lt;/</span><span class="tag-name">form</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="tag">&lt;</span><span class="tag-name">form</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;form2&quot;</span><span>&nbsp;</span><span class="attribute">method</span><span>=</span><span class="attribute-value">&quot;post&quot;</span><span>&nbsp;</span><span class="attribute">action</span><span>=</span><span class="attribute-value">&quot;&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;text&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;textfield2&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">input</span><span>&nbsp;</span><span class="attribute">type</span><span>=</span><span class="attribute-value">&quot;button&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;Submit&quot;</span><span>&nbsp;</span><span class="attribute">value</span><span>=</span><span class="attribute-value">&quot;2-----&amp;gt;1&quot;</span><span>&nbsp;</span><span class="attribute">onClick</span><span>=</span><span class="attribute-value">&quot;ok1()&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;/</span><span class="tag-name">form</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;/</span><span class="tag-name">body</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="tag">&lt;/</span><span class="tag-name">html</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>以上为HTMl的代码，大家可能注意到了onclik的代码了，有两个函数，接下来就是JAVASCRIPT的代码了： &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>CODE:</span><span class="tag">&lt;</span><span class="tag-name">script</span><span>&nbsp;</span><span class="attribute">language</span><span>=</span><span class="attribute-value">&quot;JavaScript&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>function&nbsp;ok() &nbsp;&nbsp;</span></li>
    <li class="alt"><span>{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="attribute-value">document</span><span class="attribute">document.form2.textfield2.value</span><span>=document.form1.textfield.value; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>} &nbsp;&nbsp;</span></li>
    <li class=""><span>function&nbsp;ok1() &nbsp;&nbsp;</span></li>
    <li class="alt"><span>{ &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="attribute-value">document</span><span class="attribute">document.form1.textfield.value</span><span>=document.form2.textfield2.value; &nbsp;&nbsp;</span></li>
    <li class="alt"><span>} &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>二，第二种是两个窗口之间的表单的文本框之间数据传递。 &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;其实这个可以在原来的基础上进行一些扩展就可以了。关于如何创建弹出窗口，窗体里的表单的代码，&nbsp;在这里就不多说了，现在在这里说一下如何操作父窗口的表单里的文本框的数据。具体代码如下： &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>CODE:</span><span class="tag">&lt;</span><span class="tag-name">script</span><span>&nbsp;</span><span class="attribute">language</span><span>=</span><span class="attribute-value">&quot;JavaScript&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>function&nbsp;ok() &nbsp;&nbsp;</span></li>
    <li class=""><span>{ &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="attribute">opener.document.form2.textfield2.value</span><span>=document.form1.textfield.value &nbsp;&nbsp;</span></li>
    <li class=""><span>} &nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>三，第三种就是框架网页之间的表单的文本框之间数据传递. &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;注意的地方是框架的写法： &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>CODE:</span><span class="tag">&lt;</span><span class="tag-name">frameset</span><span>&nbsp;</span><span class="attribute">cols</span><span>=</span><span class="attribute-value">&quot;505,505&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">frame</span><span>&nbsp;</span><span class="attribute">src</span><span>=</span><span class="attribute-value">&quot;test.htm&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;leftr&quot;</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;leftr&quot;</span><span class="tag">&gt;</span><span>//定义框架的名称 &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span><span class="tag">&lt;</span><span class="tag-name">frame</span><span>&nbsp;</span><span class="attribute">src</span><span>=</span><span class="attribute-value">&quot;test2.htm&quot;</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;right&quot;</span><span>&nbsp;</span><span class="attribute">name</span><span>=</span><span class="attribute-value">&quot;right&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;/</span><span class="tag-name">frameset</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="tag">&lt;</span><span class="tag-name">noframes</span><span class="tag">&gt;</span><span class="tag">&lt;</span><span class="tag-name">body</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span></span><span class="tag">&lt;/</span><span class="tag-name">body</span><span class="tag">&gt;</span><span class="tag">&lt;/</span><span class="tag-name">noframes</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>具体的实现代码如下： &nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>CODE:</span><span class="tag">&lt;</span><span class="tag-name">script</span><span>&nbsp;</span><span class="attribute">language</span><span>=</span><span class="attribute-value">&quot;JavaScript&quot;</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class=""><span>function&nbsp;ok() &nbsp;&nbsp;</span></li>
    <li class="alt"><span>{ &nbsp;&nbsp;</span></li>
    <li class=""><span>&nbsp;&nbsp;</span><span class="attribute">parent.leftr.document.form2.textfield2.value</span><span>=document.form1.textfield.value &nbsp;&nbsp;</span></li>
    <li class="alt"><span>} &nbsp;&nbsp;</span></li>
    <li class=""><span></span><span class="tag">&lt;/</span><span class="tag-name">script</span><span class="tag">&gt;</span><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>这三种窗口之间的文本框数值互相操作的简单方法就实现了，其它需要注意的就是他们之间的关系。&nbsp; &nbsp;&nbsp;</span></li>
</ol>
</div>
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/78221#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Wed, 09 May 2007 13:42:44 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/78221</link>
        <guid>http://zhongzhihua.javaeye.com/blog/78221</guid>
      </item>
      <item>
        <title>怎么用properties</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/77772" style="color:red;">http://zhongzhihua.javaeye.com/blog/77772</a>&nbsp;
          发表时间: 2007年05月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>一,先在xul文件中写上</p>
<div class="code_title">xml 代码</div>
<font face="Arial">
<div class="dp-highlighter">
<div class="bar"></div>
<ol class="dp-xml">
    <li class="alt"><span><span class="tag">&lt;</span><span class="tag-name">stringbundle</span><span>&nbsp;</span><span class="attribute">id</span><span>=</span><span class="attribute-value">&quot;bundle_prefs&quot;</span><span>&nbsp;</span><span class="attribute">src</span><span>=</span><span class="attribute-value">&quot;chrome://messenger/locale/prefs.properties&quot;</span><span class="tag">/&gt;</span><span>&nbsp;&nbsp;</span></span></li>
</ol>
</div>
<p>&nbsp;</p>
<div><font face="Arial"><stringbundle src="chrome://messenger/locale/prefs.properties" id="bundle_prefs"></stringbundle></font></div>
<pre><stringbundle src="chrome://messenger/locale/prefs.properties" id="bundle_prefs"></stringbundle></pre>
<address><font face="Arial"><stringbundle src="chrome://messenger/locale/prefs.properties" id="bundle_prefs"></stringbundle></font></address>
<p>再prefs.properties中写上这想写的中文字,如<font face="Arial">failedDuplicateAccount = 复制此帐户失败。</font></p>
<p>再js中的写一个全局变量如:var <font face="Arial">gPrefsBundle ,再</font>onload()中加载它<font face="Arial">&nbsp;gPrefsBundle = document.getElementById(&quot;bundle_prefs&quot;);现在这个<font face="Arial">gPrefsBundle 变量就是prefs.properties文件了,你想得到&quot;复制此帐户失败。&quot; 这句话只要</font></font></p>
<p><font face="Arial">var alertText = gPrefsBundle.getString(&quot;failedDuplicateAccount&quot;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; window.alert(alertText);</font></p>
<p>这样就可以打印出&quot;复制此帐户失败&quot;;</p>
</font>
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/77772#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 08 May 2007 10:57:41 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/77772</link>
        <guid>http://zhongzhihua.javaeye.com/blog/77772</guid>
      </item>
      <item>
        <title>XULRunner</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/72799" style="color:red;">http://zhongzhihua.javaeye.com/blog/72799</a>&nbsp;
          发表时间: 2007年04月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          上次说到Mozilla想做开发平台，这次他真的放出来一个XULRunner，也就是一个独立的XUL运行平台，不依赖于Firefox。<br />
虽然有了一点Firefox Extension的开发经验，可这次还是把我折腾得够呛。经常由于编码、空格、中英文标点方便的错误调试半天，因为不管是Firefox还是XULRunner，一点错误提示都不给。<br />
<br />
一个最简单的XUL独立应用程序如下：<br />
要建立如下目录结构<br />
/AppName<br />
&nbsp;&nbsp; application.ini<br />
&nbsp;&nbsp; /chrome<br />
&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; chrome.manifest<br />
&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; /AppContent<br />
&nbsp;&nbsp; /defauls<br />
&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; /preferences<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; prefs.js<br />
<br />
其中，chrome目录下的内容和Firefox插件的内容差不多。重点是application.ini。<br />
<br />
Application.ini:<br />
<br />
[App]<br />
Name=HelloWorld<br />
BuildID=2005041916<br />
[Gecko]<br />
MinVersion=1.8<br />
MaxVersion=1.9a1<br />
<br />
所必需的只有这四个字段。注意行末千万不能有空格，否则什么都不会有！Mozilla的容错性也太差了。<br />
<br />
对于prefs.js，也只有一行：<br />
pref(&quot;toolkit.defaultChromeURI&quot;, &quot;chrome://exch/content/app.xul&quot;);<br />
<br />
其中，app.xul是你的应用程序的主界面。<br />
<br />
试试用xulrunner application.ini来运行吧。<br />
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/72799#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 20 Apr 2007 11:02:42 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/72799</link>
        <guid>http://zhongzhihua.javaeye.com/blog/72799</guid>
      </item>
      <item>
        <title>中国农村的恶性土地兼并与瓜分浪潮</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/67864" style="color:red;">http://zhongzhihua.javaeye.com/blog/67864</a>&nbsp;
          发表时间: 2007年04月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="仿宋_GB2312">&nbsp;这封信虽然是我转发的,但说的事情跟我们村的发生的如出一辙!无奈啊!</font></p>
<p><font face="仿宋_GB2312">[<strong>北京大军经济观察中心编者按：</strong>这不是一篇普通的反映个案问题的文章，它的重要性在于揭示了这样一个重大的制度问题，即在现行集体所有的土地制度下，我国农村正在出现恶性的土地兼并和瓜分运动，农村社会中的矛盾十分尖锐。原本我们以为土地掠夺主要出现在城市集团与农民集团、工业部门和农业部门之间，没想到现在的情况是，农村集团内部的强权者也在大肆掠夺和兼并土地，农民正在经受双重剥夺！如果集体所有这种所谓的保护农民利益的土地制度再不改变，<strong>那么这种土地制度便是掠夺农民的最便利手段</strong>；这种情况值得有关部门认真关注这一动向。当然，这是一封群众来信，反映的情况是否完全属实，还需有关部门进行调查了解。希望当地政府部门能妥善处理这些因经济利益引起的社会纠纷。]</font> </p>
<p align="center"><font size="4" face="仿宋_GB2312"><strong>社会来信</strong></font></p>
<p align="center"><strong><font size="6">中国农村的恶性土地兼并与瓜分浪潮</font></strong></p>
<p align="center"><font size="5"><strong>----农村干部违法乱纪肆意侵吞土地</strong>，<strong>村民无地可耕生计堪忧</strong></font></p>
<p align="center"><strong><font size="4">钟瑞昌</font></strong></p>
<p align="center"><strong><font size="4">2007年1月31日</font></strong></p>
<p align="center"><strong><font size="4">电子信箱：wpyjj@163.com</font></strong></p>
<p>&nbsp;&nbsp;&nbsp; <font face="仿宋_GB2312"><strong>摘要：</strong>福建省龙岩地区武平县平川镇兴南村原有耕地1800余亩 ,近年来陆续被县政府征用，只剩下160余亩良田,然而前不久,这最后的一点耕地也在兴南村委的积极配合下,被县政府征用，2600多名村民即将无地可耕。据了解，征地新建公立小学只是个幌子，被廉价征用的耕地大部分将用来兴建一个私立学校的高中部，以及开发商品房出售！愤怒的村民拒绝牺牲自己最后一块土地，于是，受人指使的百余名地痞在百余公安民警等政府人员配合下，强行推土填平耕地，冲突中多个村民受伤，有村民被非法拘禁。这出暴力征地事件的背后黑手,是黑暗腐败的武平县政府,和靠卖地迅速致富的基层农村干部。这些官官相护的基层组织,恣意侵吞国土资源而无人监管,受害的村民申诉无门,生计堪忧。谁来帮助他们维护自身的权益？谁来惩治这些鱼肉农民、无法无天的农村干部？全国有许多类似的基层农村组织正在做着同样的事情，国家法律形同虚设,问题触目惊心！</font></p>
<p>&nbsp;&nbsp;&nbsp;<font face="仿宋_GB2312"> <strong>关键词：</strong>违法征地 强行毁田 丧失最后耕地的农民 基层腐败 官商勾结&nbsp;</font></p>
<blockquote>
<p><strong>目录</strong></p>
<p>1， 一起强征耕地引发的流血事件<br />
2，村干部迅速致富的手段&mdash;&mdash;卖地<br />
3，基层干部迅速致富的手段&mdash;&mdash;办学<br />
4，县领导官官相护，无法无天<br />
5，农民申诉无门，坐以待毙<br />
6，有关法律条文和点评<br />
7，思考<br />
8，后记</p>
<p>　</p>
<p><strong><font size="4" face="仿宋_GB2312">&nbsp;&nbsp; 编者按：因接到当地宣传部门的电话，说此信内容失实，我们将此文正文从网上拿下，留给大家一个思考的空间。我们只负责反映群众来信，到底事实如何，不是我们力所能及的事情，具体的真相还需要有关部门进行调查处理。但是，我们认为，通过刊发此信，当地政府部门已经引起重视，希望地方政府能为民众排忧解难，妥善处理因征地引起的社会纠纷。特此说明！</font></strong></p>
<p><strong><font size="4" face="仿宋_GB2312">&nbsp; 北京大军经济观察中心，2007年3月20日，</font></strong></p>
<p>　</p>
</blockquote>
<p align="center"><strong><font size="4">附作者来信</font></strong></p>
<p><font size="2">发件人：&lt;wpyjj@163.com&gt; 收件人： &lt;zdjun@263.net&gt; 抄送：发送时间：2007-01-24 18:28:43 +0800 优先级：普通标题：来自农村第一线的真实体验&nbsp;</font></p>
<p><font face="仿宋_GB2312">仲大军先生，</font></p>
<p><font face="仿宋_GB2312">&nbsp;&nbsp;&nbsp; 近日朋友推荐，拜读了先生的一些文章，深觉得先生是目前为数不多真正关心基层百姓生活的知识分子，真希望先生的真知灼见能早日被落实到现实生活中来。</font></p>
<p><font face="仿宋_GB2312">&nbsp;&nbsp;&nbsp; 附件是根据最近发生在我们身边的一些亲身经历写的通讯稿，原来是奢望看能否让媒体报道的。现转给先生作为研究中国问题（特别是基层问题、农村问题）的一点真实素材。这样的事情在我们县城还很多（全国我就不说了），这一两年，中央对保护耕地、保护农民权益问题越来越重视，也下了很多文件，可叹基层政府对这些法规条文置若寡闻、视若无物，依然是我行我素，该干什么干什么，而受到侵害的农民却根本无力保护自己，求告无门，实在是个悲剧，也是对&ldquo;和谐社会&rdquo;的一大讽刺，农村基层贫富分化越来越大（官商、大小干部来钱太容易了），社会矛盾越来越严重，不知道中央是否知道这些问题？</font></p>
<p><font face="仿宋_GB2312">&nbsp;&nbsp;&nbsp; 仅以我们县近一两年征地为例：2005年11月，县城附近的丰口坝良田400余亩，被辟为工业用地；2006年7月，丰口坝工业区被新领导弃置，重新在岩前镇耕地上开辟新工业区；2006年9月，万安乡捷文村因新修水库毁田毁林没有得到应有补偿一事，从县信访办开始，逐级上访到中央信访办；前后历时大半年；2006年12月18，平村镇兴南村被暴力毁田，强行征去全村最后一块耕地，目前这块耕地已被黄泥全部覆盖，无法复原了；2006年12月29日－2007年1月18日，平村镇红东村5名村民代表，因耕地强行征用未得到合理补偿，上访到中央信访办，此前他们已经从县信访办开始，逐级上访，前后历时大半年，无法解决；</font></p>
<p><font face="仿宋_GB2312">&nbsp;&nbsp;&nbsp; 2007年1月3日－2007年1月18日，东留乡封侯村30余名村民代表，因村委侵占山林私分村财一事，上访到中央信访办，此前他们已经从县信访办开始，逐级上访，前后历时大半年，无法解决；再紧着，兴南村村民也正在沿着前人足迹，从县信访办开始，打算逐级上访，最终到中央信访办，维权之路艰辛漫长而希望渺茫，也不知道大家是否能坚持到底。&hellip;&hellip;</font></p>
<p><font face="仿宋_GB2312">&nbsp;&nbsp;&nbsp; 对这些问题，我们都已经向各级相关部门、各大媒体反复反映过，呼吁他们的帮助，来实地调查、采访（能不能解决问题可先不谈），但迄今都没有回应，沉默得让人绝望。不说了，浪费了先生时间。</font></p>
<p><font face="仿宋_GB2312">&nbsp;&nbsp;&nbsp; 钟瑞昌 上</font></p>
<p>~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</p>
<h1 align="center"><font size="3"><strong>北京大军经济观察研究中心</strong></font></h1>
<p align="center"><font size="3">电话：010-63071372,&nbsp; 传真：66079391，电子信箱：</font><a href="mailto:zdjun@263.net"><font size="3">zdjun@263.net</font></a><font size="3">，</font></p>
<p align="center"><font size="3">地址：北京市西城区温家街2号，邮政编码：100031，</font></p>
<p align="center"><font size="3">网址：</font><a href="http://www.dajun.com.cn/"><font size="4">www.dajun.com.cn</font></a><font size="4">，</font></p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/67864#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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 Apr 2007 13:32:16 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/67864</link>
        <guid>http://zhongzhihua.javaeye.com/blog/67864</guid>
      </item>
      <item>
        <title>安装linux</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/58177" style="color:red;">http://zhongzhihua.javaeye.com/blog/58177</a>&nbsp;
          发表时间: 2007年03月08日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>1．准备：&nbsp; <br />
下载2.6内核linux-2.6.2-rc2.tar.gz&nbsp; <br />
<a href="http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.2-rc2.tar.gz" target="_blank">http://www.kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.2-rc2.tar.gz</a>&nbsp; <br />
不需要下载http://www.kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.2-rc2.gz&nbsp; <br />
这个补丁是给以前的内核版本升级到2.6.2-rc2用的&nbsp; <br />
<br />
2．本人系统为redhat8.0&nbsp; <br />
解压到目录/usr/src&nbsp; <br />
#cp&nbsp;linux-2.6.2-rc2.tar.gz&nbsp;/usr/src&nbsp; <br />
#cd&nbsp;/usr/src&nbsp; <br />
#tar&nbsp;-zxvf&nbsp;linux-2.6.2-rc2.tar.gz&nbsp; <br />
<br />
建立链接文件&nbsp; <br />
#cd&nbsp;/usr/src&nbsp; <br />
#ln&nbsp;&ndash;s&nbsp;linux-2.6.2-rc2&nbsp;linux-2.6&nbsp; <br />
#ln&nbsp;&ndash;s&nbsp;linux-2.6&nbsp;linux&nbsp; <br />
<br />
检查原代码&nbsp; <br />
#cd&nbsp;/usr/src/linux&nbsp; <br />
#make&nbsp;mrproper&nbsp; <br />
这步是为确保原代码目录下没有不正确的.o文件及文件的相互依赖。&nbsp; <br />
<br />
配置核心选项&nbsp; <br />
#make&nbsp;menuconfig&nbsp; <br />
基本上保持默认选项就可以了，但是要注意的是必须把ext2和ext3文件系统支持编进内核，否则升级内核重新启动是会有错误：&nbsp; <br />
Kernel&nbsp;panic:&nbsp;No&nbsp;init&nbsp;found.&nbsp;Try&nbsp;passing&nbsp;init=&nbsp;option&nbsp;to&nbsp;kernel&nbsp; <br />
ext2和ext3文件系统配置为：&nbsp; <br />
File&nbsp;systems&nbsp;-&amp;#61664;&nbsp; <br />
&lt;*&gt;;&nbsp;Second&nbsp;extended&nbsp;fs&nbsp;support&nbsp; <br />
[*]&nbsp;Ext2&nbsp;extended&nbsp;attributes&nbsp; <br />
[*]&nbsp;Ext2&nbsp;POSIX&nbsp;Access&nbsp;Control&nbsp;Lists&nbsp; <br />
[*]&nbsp;Ext2&nbsp;Security&nbsp;Labels&nbsp; <br />
&lt;*&gt;;&nbsp;Ext3&nbsp;journalling&nbsp;file&nbsp;system&nbsp;support&nbsp; <br />
[*]&nbsp;Ext3&nbsp;extended&nbsp;attributes&nbsp; <br />
[*]&nbsp;Ext3&nbsp;POSIX&nbsp;Access&nbsp;Control&nbsp;Lists&nbsp; <br />
[*]&nbsp;Ext3&nbsp;Security&nbsp;Labels&nbsp; <br />
[*]&nbsp;JBB&nbsp;(ext3)&nbsp;debugging&nbsp;support&nbsp; <br />
<br />
编译内核&nbsp; <br />
<br />
确保所有文件都处于最新的版本状态下&nbsp; <br />
#make&nbsp;clean&nbsp; <br />
<br />
编译模块&nbsp; <br />
#make&nbsp;modules&nbsp; <br />
<br />
安装模块&nbsp; <br />
#make&nbsp;modules_install&nbsp; <br />
此时在/lib/modules下出现新内核模块文件夹2.6.2-rc2&nbsp; <br />
<br />
使用新内核&nbsp; <br />
#cp&nbsp;System.map&nbsp;/boot/System.map-2.6.2-rc2&nbsp; <br />
#rm&nbsp;/boot/System.map&nbsp; <br />
#ln&nbsp;&ndash;s&nbsp;/boot/System.map-2.6.2-rc2&nbsp;/boot/System.map&nbsp; <br />
#cp&nbsp;arch/i386/boot/bzImage&nbsp;/boot/vmlinuz-2.6.2-rc2&nbsp; <br />
#rm&nbsp;/boot/vmlinuz&nbsp; <br />
#ln&nbsp;&ndash;s&nbsp;/boot/vmlinuz-2.6.2-rc2&nbsp;/boot/vmlinuz&nbsp; <br />
#new-kernel-pkg&nbsp;&ndash;install&nbsp;&ndash;mkinitrd&nbsp;&ndash;depmod&nbsp;2.6.2-rc2&nbsp; <br />
执行完new-kernel-pkg命令后在/boot下生成新印象文件initrd-2.6.2-rc2,同时/etc/grub.conf中增加了新核心的启动项，&nbsp; <br />
例如：&nbsp; <br />
Tilte&nbsp;linux&nbsp;(2.6.20-rc2)&nbsp; <br />
Root(hd0,0)&nbsp; <br />
Kernel&nbsp;/boot/vmlinuz-2.6.2-rc2&nbsp;ro&nbsp;root=LABEL=/&nbsp; <br />
Initrd&nbsp;/boot/initrd-2.6.2-rc2&nbsp; <br />
将kernel项中的root=LABEL=/&nbsp;改成&nbsp;root=/dev/hda7&nbsp;(/dev/hda7是本人linux的根分区),否则重启动后会有错误：&nbsp; <br />
Kernel&nbsp;panic:&nbsp;No&nbsp;init&nbsp;found.&nbsp;Try&nbsp;passing&nbsp;init=&nbsp;option&nbsp;to&nbsp;kernel&nbsp; <br />
<br />
#reboot&nbsp; <br />
重启后Grub中出现2.6内核的启动项，现在就用新的核心试试吧。<br />
<br />
</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/58177#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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>Thu, 08 Mar 2007 11:52:13 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/58177</link>
        <guid>http://zhongzhihua.javaeye.com/blog/58177</guid>
      </item>
      <item>
        <title>中文比较器</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/54270" style="color:red;">http://zhongzhihua.javaeye.com/blog/54270</a>&nbsp;
          发表时间: 2007年02月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="Arial">自己写了两种方法的中文比较器,&nbsp;</font></p>
<p><font face="Arial">private class ListComparator implements Comparator{<br />
&nbsp;&nbsp;&nbsp; &nbsp;Collator collator = Collator.getInstance();<br />
&nbsp;&nbsp;public int compare(Object o1, Object o2) {<br />
&nbsp;&nbsp;&nbsp;PIResource res1=(PIResource)o1;<br />
&nbsp;&nbsp;&nbsp;PIResource res2=(PIResource)o2;&nbsp;&nbsp;&nbsp;&nbsp;<br />
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; String s1=new&nbsp;&nbsp; String(res1.getKoResource().getName().getBytes(&quot;GB2312&quot;),&quot;ISO-8859-1&quot;);&nbsp;&nbsp;&nbsp;&nbsp; <br />
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;&nbsp; s2=new&nbsp;&nbsp; String(res2.getKoResource().getName().getBytes(&quot;GB2312&quot;),&quot;ISO-8859-1&quot;);&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;CollationKey s1=collator.getCollationKey(res1.getKoResource().getName());<br />
&nbsp;&nbsp;&nbsp;&nbsp;CollationKey s2=collator.getCollationKey(res2.getKoResource().getName());&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;return s1.compareTo(s2);<br />
&nbsp;&nbsp;}&nbsp;<br />
&nbsp;&nbsp;<br />
&nbsp;}</font></p>
<p><font face="Arial">&nbsp; Collections.sort(piResources, new ListComparator());</font></p>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/54270#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 13 Feb 2007 18:18:08 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/54270</link>
        <guid>http://zhongzhihua.javaeye.com/blog/54270</guid>
      </item>
      <item>
        <title>prototype.js用法</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/51107" style="color:red;">http://zhongzhihua.javaeye.com/blog/51107</a>&nbsp;
          发表时间: 2007年01月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="Arial">http://blog.csdn.net/jxufewbt/archive/2007/01/06/1475688.aspx</font></p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://zhongzhihua.javaeye.com/blog/51107#comments" style="color:red;">已有 <strong>0</strong> 人发表留言，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</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, 29 Jan 2007 18:11:58 +0800</pubDate>
        <link>http://zhongzhihua.javaeye.com/blog/51107</link>
        <guid>http://zhongzhihua.javaeye.com/blog/51107</guid>
      </item>
      <item>
        <title>SpringSide提供的数据持久层的功能(转载)</title>
        <author>zhongzhihua</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://zhongzhihua.javaeye.com">zhongzhihua</a>&nbsp;
          链接：<a href="http://zhongzhihua.javaeye.com/blog/49199" style="color:red;">http://zhongzhihua.javaeye.com/blog/49199</a>&nbsp;
          发表时间: 2007年01月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="postbody">
<p>在这里，将创建一个简化的用户管理模块，演示怎样利用SpringSide提供的数据持久层的功能，包括怎样通过Hibernate的Annotation来配置多对一映射和多对多映射。</p>
<p>大 家都知道，现在最流行用户管理模型的是RBAC，也就是基于角色的访问控制模型，在这种模型中，可以划分多个层次，如用户-角色-资源、用户-角色-权限 -资源、用户-角色-角色组-权限-资源、用户-角色-角色组-权限-操作-资源等等，因此，想要创建一个完善而复杂的用户管理模块，是相当具有难度的。 在Web2.0时代，有一个很重要的开发思想，那就是先让程序跑起来，以后再逐步添加复杂的功能。因此，在这里只创建一个简化的用户管理模块。</p>
<p>所谓简化，它具有如下几个特点：</p>
<p>1.在认证方式中，选择基于用户名和密码的认证，用户需要提供用户名、密码和昵称，用户名和昵称都要求不能重复，用户名不能包含中文，且不能够被修改，昵称可以为中文，也可以被修改。密码使用MD5加密。</p>
<p>2.不包含用户的真实信息，如姓名、年龄、性别、职业、地址、邮编等等，因为如果包含这些字段，那么还需要包含更多的额外字段来让用户决定是否公开这些信息，因此，去掉这些东西，可以简化开发过程，让网站能够尽快的跑起来。</p>
<p>3.联系方式只需要用户提供它的电子邮箱和QQ号码。</p>
<p>4.如果用户密码丢失，可以通过密码提示问题找回，随机产生的新密码会发到用户的电子邮箱。</p>
<p>5.省略用户的个性化设置，如个性化签名、自定义头像等。</p>
<p>6.要能够记录用户的注册时间和最后登录时间。</p>
<p>7.要具有完善的积分和排名机制。</p>
<p>8.用户删除的时候不做物理删除，只标记为该用户不可用。</p>
<p>8. 具有简化的角色和权限管理机制，这里的简化主要有以下几点：每个用户只能属于一个角色，即多对一关系，而不是传统的多对多关系；角色不需要分组；没有专门 的资源抽象层；在角色表中只使用一个字段来表示该角色具有的权限，权限以数字表示，以逗号分开，如&ldquo;1,2&rdquo;，&ldquo;1,3,15&rdquo;等等。</p>
<p>9.用户可以创建群和加入群，为了简化，群的创始人即为管理员，并不可改变，用户加入群需要管理员批准，一个用户可以加如多个群，即多对多关系。</p>
<p>从 上面的描述可以看出，一个简化的用户管理系统最少需要三个表，即users，roles和groups表，其中users和roles之间为多对一映射， users和groups之间为多对多映射，为了实现多对多映射，并且用户加入群的时候需要管理员批准，需要一个中间表users_groups。下面是 在MySQL中创建数据表的语句。</p>
<p>创建用户表：</p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"> 				<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /> 				<span style="color: rgb(0, 0, 255);">create</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">table</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;users(<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />id&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">int</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;auto_increment&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">primary</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">key</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />name&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">varchar</span> 				<span style="color: rgb(0, 0, 0);">(</span> 				<span style="font-weight: bold; color: rgb(128, 0, 0);">20</span> 				<span style="color: rgb(0, 0, 0);">)&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />password&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">char</span> 				<span style="color: rgb(0, 0, 0);">(</span> 				<span style="font-weight: bold; color: rgb(128, 0, 0);">32</span> 				<span style="color: rgb(0, 0, 0);">)&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />monicker&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">varchar</span> 				<span style="color: rgb(0, 0, 0);">(</span> 				<span style="font-weight: bold; color: rgb(128, 0, 0);">30</span> 				<span style="color: rgb(0, 0, 0);">)&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />question&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">varchar</span> 				<span style="color: rgb(0, 0, 0);">(</span> 				<span style="font-weight: bold; color: rgb(128, 0, 0);">30</span> 				<span style="color: rgb(0, 0, 0);">)&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />answer&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">varchar</span> 				<span style="color: rgb(0, 0, 0);">(</span> 				<span style="font-weight: bold; color: rgb(128, 0, 0);">30</span> 				<span style="color: rgb(0, 0, 0);">)&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />email&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">varchar</span> 				<span style="color: rgb(0, 0, 0);">(</span> 				<span style="font-weight: bold; color: rgb(128, 0, 0);">40</span> 				<span style="color: rgb(0, 0, 0);">)&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />qq&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">varchar</span> 				<span style="color: rgb(0, 0, 0);">(</span> 				<span style="font-weight: bold; color: rgb(128, 0, 0);">12</span> 				<span style="color: rgb(0, 0, 0);">)&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />roleid&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">int</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />score&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">int</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">default</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(255, 0, 0);">'</span> 				<span style="color: rgb(255, 0, 0);">0</span> 				<span style="color: rgb(255, 0, 0);">'</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />regtime&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">timestamp</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">default</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(255, 0, 255);">CURRENT_TIMESTAMP</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />logintime&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">timestamp</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">default</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(255, 0, 0);">'</span> 				<span style="color: rgb(255, 0, 0);">2007-01-01&nbsp;00:00:00</span> 				<span style="color: rgb(255, 0, 0);">'</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />isdeleted&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">varchar</span> 				<span style="color: rgb(0, 0, 0);">(</span> 				<span style="font-weight: bold; color: rgb(128, 0, 0);">2</span> 				<span style="color: rgb(0, 0, 0);">)&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">default</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(255, 0, 0);">'</span> 				<span style="color: rgb(255, 0, 0);">0</span> 				<span style="color: rgb(255, 0, 0);">'</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 				<span style="color: rgb(0, 0, 255);">index</span> 				<span style="color: rgb(0, 0, 0);">(username),<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 				<span style="color: rgb(0, 0, 255);">index</span> 				<span style="color: rgb(0, 0, 0);">(monicker));</span> 		</div>
<p> 				<br />
为了加快查找用户的速度，在用户名和昵称列上创建了索引。</p>
<p>创建角色表：</p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"> 				<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /> 				<span style="color: rgb(0, 0, 255);">create</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">table</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;roles(<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />id&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">int</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;auto_increment&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">primary</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">key</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />name&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">varchar</span> 				<span style="color: rgb(0, 0, 0);">(</span> 				<span style="font-weight: bold; color: rgb(128, 0, 0);">20</span> 				<span style="color: rgb(0, 0, 0);">)&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />privilegesFlag&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">varchar</span> 				<span style="color: rgb(0, 0, 0);">(</span> 				<span style="font-weight: bold; color: rgb(128, 0, 0);">255</span> 				<span style="color: rgb(0, 0, 0);">),<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 				<span style="color: rgb(0, 0, 255);">index</span> 				<span style="color: rgb(0, 0, 0);">(rolename)<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />);<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 		</div>
<p> 				<br />
创建群组表：</p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"> 				<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /> 				<span style="color: rgb(0, 0, 255);">create</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">table</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;groups(<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />id&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">int</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;auto_increment&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">primary</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">key</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />name&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">varchar</span> 				<span style="color: rgb(0, 0, 0);">(</span> 				<span style="font-weight: bold; color: rgb(128, 0, 0);">40</span> 				<span style="color: rgb(0, 0, 0);">)&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />creatorid&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">int</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />createtime&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">timestamp</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">default</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(255, 0, 255);">CURRENT_TIMESTAMP</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />isdeleted&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">varchar</span> 				<span style="color: rgb(0, 0, 0);">(</span> 				<span style="font-weight: bold; color: rgb(128, 0, 0);">2</span> 				<span style="color: rgb(0, 0, 0);">)&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">default</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(255, 0, 0);">'</span> 				<span style="color: rgb(255, 0, 0);">0</span> 				<span style="color: rgb(255, 0, 0);">'</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 				<span style="color: rgb(0, 0, 255);">index</span> 				<span style="color: rgb(0, 0, 0);">(groupname));<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 		</div>
<p> 				<br />
creatorid代表组的创始人，同时也是管理员，这里同样设置群组不做物理删除。</p>
<p>创建用户群组多对多映射辅助表：</p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"> 				<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /> 				<span style="color: rgb(0, 0, 255);">create</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">table</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;users_groups(<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />id&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">int</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;auto_increment&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">primary</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">key</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />userid&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">int</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />groupid&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">int</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(128, 128, 128);">not</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;</span> 				<span style="color: rgb(0, 0, 255);">null</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />jointime&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">timestamp</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />status&nbsp;</span> 				<span style="font-weight: bold; color: rgb(0, 0, 0);">tinyint</span> 				<span style="color: rgb(0, 0, 0);">,<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 				<span style="color: rgb(0, 0, 255);">index</span> 				<span style="color: rgb(0, 0, 0);">(userid),<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 				<span style="color: rgb(0, 0, 255);">index</span> 				<span style="color: rgb(0, 0, 0);">(groupid)<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />);</span> 		</div>
<p> 				<br />
其中status列代表用户是否通过了管理员的批准，为了加快查找速度，在userid和groupid列上建立索引。</p>
<p>设计完数据库，就该设计领域对象了，领域对象的设计方法为先设计简单的POJO，然后再在POJO上添加Hibernate Annotation来配置映射关系。在进行Annotation配置的时候，可以从以下几个方面进行思考。</p>
<p>1、使用什么样的数据类型映射数据库中的列类型？<br />
2、对象之间是一对一、一对多还是多对多关系？<br />
3、关联的对象之间哪一个作为主控方？<br />
4、对象之间的关联是单向的还是双向的？</p>
<p>首 先来看看users和roles之间的关系，考虑到加载一个用户数据的时候，往往同时需要知道他属于哪个角色，而加载一个角色的时候，就没有必要知道它管 理哪些用户了，因此，它们是简单的单向关系，是多对一映射。当出现多对一映射的时候，永远都应该选择多的这一方作为主控方，道理很简单，打个比方，让一个 国家元首记住全国人民的名字基本是不可能的，而让全国人民记住国家元首的名字就很简单了。因此，这里User作为主控方，Role作为被控方。</p>
<p>再 来看看数据类型的映射，对于简单的int、varchar这样的就不用多说了。而日期时间类型的映射是一个重点，可以看到，前面的数据库创建语句中，所有 需要时间的地方都使用了timestamp列类型，使用timestamp列类型的唯一目的就是为了能够使用default CURRENT_TIMESTAMP语句，使用date和datetime类型就不行，在MySQL中，timestamp只能表示从'1970-01- 01 00:00:00'到2037年的范围。</p>
<p>MySQL中的timestamp和java.sql.Timestamp表现不一 致，在MySQL中，timestamp和datetime类型精度是一样的，都只能储存到整数秒，而timestamp比datetime能表示的时间 范围要小得多，在Java中，java.util.Date和MySQL的timestamp的精度是一致的，只能储存到整数秒，而 java.sql.Timestamp还保存毫微秒，因此建议使用java.util.Date来映射timestamp列，使用 java.sql.Timestamp只是浪费。</p>
<p>MySQL和Java在时间上面还有一个冲突，那就是MySQL支持全零的时间， 如'0000-00-00 00:00:00'，而Java不支持，因此如果在定义users表的logintime列时使用logintime timestamp not null default '0000-00-00 00:00:00'，那么在使用Hibernate来获取User对象的时候就会出错，所以在创建数据库的时候要选择一个合法的默认时间，如'2007- 01-01 00:00:00'。</p>
<p>下面请看User.java的代码：</p>
<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: rgb(238, 238, 238);"> 				<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /> 				<span style="color: rgb(0, 0, 255);">package</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;com.xkland.domain;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 				<span style="color: rgb(0, 0, 255);">import</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;java.io.Serializable;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 				<span style="color: rgb(0, 0, 255);">import</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;java.util.Date;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 				<span style="color: rgb(0, 0, 255);">import</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;org.springside.core.dao.extend.Undeletable;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 				<span style="color: rgb(0, 0, 255);">import</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;org.hibernate.annotations.Cache;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 				<span style="color: rgb(0, 0, 255);">import</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;org.hibernate.annotations.CacheConcurrencyStrategy;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /></span> 				<span style="color: rgb(0, 0, 255);">import</span> 				<span style="color: rgb(0, 0, 0);">&nbsp;javax.persistence.</span> 				<span style="color: rgb(0, 0, 0);">*</span> 				<span style="color: rgb(0, 0, 0);">;<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" /><br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />@Entity<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />@Table(name</span> 				<span style="color: rgb(0, 0, 0);">=</span> 				<span style="color: rgb(0, 0, 0);">&quot;</span> 				<span style="color: rgb(0, 0, 0);">users</span> 				<span style="color: rgb(0, 0, 0);">&quot;</span> 				<span style="color: rgb(0, 0, 0);">)<br />
<img src="http://www.blogjava.net/Images/OutliningIndicators/None.gif" align="top" alt="" />@Undeletable(status</span> 				<span style="color: rgb(0, 0, 0);">=</span> 				<span style="color: rgb(0, 0, 0);">&quot;</span> 				<span style="color: rgb