<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>情不知所起，一往而深</title>
    <description>子曰：“凤鸟不至，河不出图，吾已矣夫！” 
</description>
    <link>http://xjtusaber.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>可是，你欠我幸福(转载) </title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/175523" style="color:red;">http://xjtusaber.javaeye.com/blog/175523</a>&nbsp;
          发表时间: 2008年03月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          越看越经典 <br />听到王菲浅吟低唱着这个句子的时候，阿朱如花的笑靥正在青石桥旁小镜湖边渐渐凋零，乔峰在滂沱的夜雨中泪雨也滂沱。你给我保护，我还你祝福，你英雄好汉需要抱负，可你欠我幸福，拿什么弥补。终是塞上牛羊空许约。 <br />    莉香在完治决定离开之前提早离去。她那么深切那么纯粹的爱了完治，可是完治始终背负不起她的幸福。于是她放手她离开，她说她无悔，她在三年后的东京街头依旧笑容漂亮。只是那一段青春终究被那个叫完治的男人辜负过，那一颗芳心终究有了寂寞的痕迹。 <br />   陈家洛不愿负天下人，便负红颜。一个为他香消玉殒，一个为他寂寞余生。也许他的命运早早已是注定，在那条命定的路上，没有预设爱情，以及幸福。 <br />   张无忌放弃了江湖与江山，他把幸福给了赵敏，却把牵挂给了小昭，把漂泊给了蛛儿，把遗憾给了芷若。 <br />   杨过和小龙女最终做了神仙眷侣。也许他知道，也许他不知道，也许他装做不知道，程英和陆无双为他负尽青春抛尽韶华，郭襄为他天涯思君念念不忘；也许他记得，也许他不记得，曾经有一个叫公孙绿萼的姑娘把一生都停住在他一刹那的目光里。而他所能给的，也只是一曲清箫，三枚金针或者某一刻的眷顾而已。 <br />   这世间，太少的相濡以沫。太多的相忘江湖。 <br />   我们曾经深深爱过一些人。爱的时候，把朝朝暮暮当作天长地久，把缠绵一时当作被爱了一世，于是承诺，于是奢望执子之手，幸福终老。然后一切都消失了，我们终于明白，天长地久是一件多么可遇不可求的事情，幸福是一种多么玄妙多么脆弱的东西。   也许爱情于幸福无关，也许这一生最终的幸福于心底最深处的那个人无关，也许将来的某一天，我们会牵住谁的手，一生细水长流的把风景看透。其实承诺并没有什么，不见了也不算什么，所有的一切自有他的归宿。我们学着看淡，学着不强求，学着深藏，把你深深埋藏，藏到岁月烟尘企及不到的地方。 <br />   只是，只是为什么在某个落雨的黄昏，在某个寂寞的夜里，你还是隐隐在我心里淡入，淡出；淡出，淡入，拿不走，抹不掉。 <br />我，曾经，这样爱你；我，曾经以为，你是幸福的原因。
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/175523#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, 24 Mar 2008 18:03:26 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/175523</link>
        <guid>http://xjtusaber.javaeye.com/blog/175523</guid>
      </item>
      <item>
        <title>【zz】爱人的心是玻璃做的</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/171193" style="color:red;">http://xjtusaber.javaeye.com/blog/171193</a>&nbsp;
          发表时间: 2008年03月14日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          荷西向三毛求婚。<br />　　<br />　　三毛说：我的心是玻璃做的，它已经碎了。<br />　　<br />　　荷西说：我这里有一颗心，它是金子做的，我跟你换。<br />　　<br />　　怆然泪下。泪下的，不仅仅是三毛吧。问问你，问问他，我们是不是都听过心碎的声音？<br />　　<br />　　（一）<br />　　<br />　　楷说：“你还是走吧，我决心已下。”楷的女友，相恋八年的女友不相信，涕泪横流地摇撼他：“我已经放弃了跟那个人去美国，我已经决定为你留下。而且，而且我也从来没有爱上他。“楷说：”可是在你徘徊犹豫、取舍不定的那些日子，我清楚地感受到心在一丝一纹的龟裂、到如今碎裂开来的疼痛。原谅我，我背不动你打算做出的牺牲。我期望的是在两情相悦之后，共同需要的水到渠成，不平衡的付出和牺牲也能窒息爱情。<br />　　<br />　　原谅我，我背负不起了，这段感情“。<br />　　<br />　　（二）<br />　　<br />　　在怀孕七个月之后，篆向她的同居男友提出分手。男友目瞪口呆地望住她，嗫嚅了半天，一句“为什么”也忘了问出口。篆抚着自己已经明显挺出的腹部，语调沉静温柔：“其实，也不为什么。只是那一句关于婚姻的承诺，你实在让我等得太累、太久。恋爱中，每前进一步，都需要作为女生的我来主动地提醒、要求，日复一日，当初的义无反顾变得可叹、可怜；爱，日渐模糊。当然，还是感谢你与我共同孕育了这腹中的生命，让我重温爱的温暖与被爱的回应“。<br />　　<br />　　（三）<br />　　<br />　　隶结婚了，新娘不是他爱的那个人。婚宴上，他爱的那个女孩举杯向他和他的新娘祝福，止不住泪光莹莹；隶却是从容一笑，云淡风清，仿佛他才是当初那个负心背弃的人。隶说：“能够被背弃的，就已不再是爱情。她当然应该哭，她失去了一个爱她的人；而我没有呵，爱的感觉我还依然保有着，我失去的，只是一个并不爱我的人。至于新娘呢，反正都不是她了，谁也都一样了吧。我们也不会再练习相爱，只是学习相处，搭个伴儿过一生。“<br />　　<br />　　（四）<br />　　<br />　　草确定丈夫不会认真跟她离婚，可丈夫说，就是认真的。草很镇静，泡了功夫茶，坐下来，有条不紊地追问原因。丈夫却暴怒了：“我就恨你这个样子，气定神闲，就像什么都握在你的掌心！”草说：“是啊，你真要离婚，我就是一哭二闹三上吊、七十二般武艺使尽，你也还是要离。再说，我也不知道这是你第几次的婚外柔情了。我呢，也就是在你这儿挂个名儿，你还真指望我还有那年第一次发现你外遇时的狂热激情？！嗨，不过是懒得跟你离婚。再说，真要离了，你再上哪儿找一个老婆，看你隔三差五跟不重样儿的人缠绵，不眨一下眼睛？！“功夫茶稳稳地注进杯中，杯底却分明有碎裂的声音。<br />　　<br />　　我们终其一生都在寻找，那颗金子做的心。可我们不一定都能有三毛那样的幸运，换到一颗纯粹、坚强的心来面对一生。在寻找的过程中，似乎我们在不经意之间忽略了，其实我们该把自己的那颗玻璃心铸炼成黄金的质地，在爱与被爱的路上去呵护、包容别人，而不是只指望对方来小心呵护我们自己。<br />　　<br />　　这是一个太多人急功近利的世界，有着太多的浮躁。我们已经习惯在理性中思考、在衡量所有的利弊得失以后再做出决断。爱情，当然也不例外。<br />　　<br />　　楷女友的犹疑是人性本能的反应，站在命运的十字路口前面的她，当然地忽略掉了楷的心灵悄悄破碎的声音，理性的潮汐终于淹过了柔情的沙滩。篆也终于在她最需要爱的时候，放弃了她曾经一往情深、却没有得到相应回声的爱情。在隶和草各自的婚姻里面，那洒落满地的玻璃心的碎片，还隐隐地在它们那个尖锐的角上，挂着几缕自伤和伤人的血痕。<br />　　<br />　　太多的时候，太多的你我，听到的，只是我们自己心灵碎去的声音，而忽略了那个人也会难过也会心碎。爱一个人的时候，我们是否该换一颗金子做的心，在理性和功利的世界里面，留一片不会轻易碎裂的晶莹，给他（她）？<br /><div class="quote_title">引用</div><div class="quote_div">摘自<a href="http://health.sohu.com/43/59/harticle17145943.shtml" target="_blank">http://health.sohu.com/43/59/harticle17145943.shtml</a></div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/171193#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, 14 Mar 2008 00:01:51 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/171193</link>
        <guid>http://xjtusaber.javaeye.com/blog/171193</guid>
      </item>
      <item>
        <title>第一次见String.replace是这样用的</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/167980" style="color:red;">http://xjtusaber.javaeye.com/blog/167980</a>&nbsp;
          发表时间: 2008年03月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="js">var str=' &lt;div class="{0}">{1}&lt;/div>'
var args=['saber','xq']
str=str.replace(/\{(\d+)\}/g, function(m, i){
            return args[i];
        })
</pre><br /><br />第二个参数是个方法对象，怎么解释？<br /><br /><div class="quote_title">引用</div><div class="quote_div">ECMAScript v3 规定，replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下，每个匹配都调用该函数，它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数是与模式中的子表达式匹配的字符串，可以有 0 个或多个这样的参数。接下来的参数是一个整数，声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。<br />摘自：<a href="http://www.w3school.com.cn/js/jsref_replace.asp" target="_blank">http://www.w3school.com.cn/js/jsref_replace.asp</a><br /></div><br /><br />哎 孤陋寡闻了。
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/167980#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, 05 Mar 2008 00:33:55 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/167980</link>
        <guid>http://xjtusaber.javaeye.com/blog/167980</guid>
      </item>
      <item>
        <title>javascript typeof的用法</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/167788" style="color:red;">http://xjtusaber.javaeye.com/blog/167788</a>&nbsp;
          发表时间: 2008年03月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          经常会在js里用到数组,比如 多个名字相同的input, 若是动态生成的, 提交时就需要判断其是否是数组. <br /><br />if(document.mylist.length != "undefined" ) {} 这个用法有误.<br /><br />正确的是 if( typeof(document.mylist.length) != "undefined" ) {} <br /><br />或 if( !isNaN(document.mylist.length) ) {}<br /><br />typeof的运算数未定义,返回的就是 "undefined".<br /><br />运算数为数字 typeof(x) = "number"<br /><br />字符串 typeof(x) = "string"<br /><br />布尔值 typeof(x) = "boolean"<br /><br />对象,数组和null typeof(x) = "object"<br /><br />函数 typeof(x) = "function"<br /><br />typeof 运算符返回一个用来表示表达式的数据类型的字符串。 <br />可能的字符串有："number"、"string"、"boolean"、"object"、"function" 和 "undefined"。 <br />如： <br />alert(typeof (123));//typeof(123)返回"number" <br />alert(typeof ("123"));//typeof("123")返回"string" <br /><br /><br />typeof 运算符<br />返回一个用来表示表达式的数据类型的字符串。<br /><br />typeof[()expression[]] ;<br /><br />expression 参数是需要查找类型信息的任意表达式。 <br /><br />说明<br />typeof 运算符把类型信息当作字符串返回。typeof 返回值有六种可能： "number," "string," "boolean," "object," "function," 和 "undefined."<br /><br />typeof 语法中的圆括号是可选项。
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/167788#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, 04 Mar 2008 16:34:01 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/167788</link>
        <guid>http://xjtusaber.javaeye.com/blog/167788</guid>
      </item>
      <item>
        <title>【读书笔记】关于javascript的apply和call函数 </title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/167780" style="color:red;">http://xjtusaber.javaeye.com/blog/167780</a>&nbsp;
          发表时间: 2008年03月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          1：关于javascript的apply和call函数 <br /><br />官方解释：应用某一对象的一个方法，用另一个对象替换当前对象。 <br />apply与call的区别是第二个参数不同。apply是 数组或者arguments 对象。而call是逗号隔开的任何类型。 <br /><br />apply,call方法最让人混淆的地方也是apply,call的特色。但最好不要滥用。 <br /><span style="color: #0000ff"><span style="color: #000000">能改变调用函数的对象。如下例，函数中用到this关键字，这时候this代表的是apply,call函数的第一个参数。</span> <br />关于call，最简单的解释就是：把隐藏的第一个参数显示化。因为通常一个方法x的调用，会有一个额外的隐藏参数，就是x所属的对象，如果没有所属，则为global（如window）对象，并在函数内可以用this关键字访问之。</span> <br /><br /><br />&lt;script src=&quot;prototype1.3.1.js&quot;&gt;&lt;/script&gt; <br />&lt;input type=&quot;text&quot; id=&quot;myText&quot; value=&quot;input text&quot;&gt; <br />&lt;script&gt; <br />function Obj(){ <br />this.value=&quot;对象！&quot;; <br />} <br />var value=&quot;global 变量&quot;; <br />function Fun1(){ <br />alert(this.value); <br />} <br />window.Fun1(); <br />Fun1.apply(window); <br />Fun1.apply($('myText')); <br />Fun1.apply(new Obj()); <br />&lt;/script&gt; <br /><br /><p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/167780#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, 04 Mar 2008 16:13:15 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/167780</link>
        <guid>http://xjtusaber.javaeye.com/blog/167780</guid>
      </item>
      <item>
        <title>阅读prototype 1.5.js之继承</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/167116" style="color:red;">http://xjtusaber.javaeye.com/blog/167116</a>&nbsp;
          发表时间: 2008年03月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          首先贴出prototype.js实现继承的代码：<br /><pre name="code" class="js">Object.extend = function(destination, source) {
  for (var property in source) {
    destination[property] = source[property];
  }
  return destination;
}</pre><br />很明显，这里把source的所有属性copy到destination下，即destination继承source，由于只是简单的属性copy，所以写代码的时候要注意调用Object.extend的顺序，否则无法实现overriding。举个例子：<br /><pre name="code" class="js">var  Animal={
	step:function(){
		alert('Animal stepping  !')
	}
}
var People=Class.create();
People.prototype={
	initialize:function(name){
		this.name=name;
	},
	step:function(){
		alert(" People "+this.name+'  stepping  !')
	},
	work:function(){
		alert('People '+this.name+' can work ')
	}
}
Object.extend(People.prototype,Animal)//copy 事例变量

var p=new People('xqxq');
p.step();</pre><br />输出结果为：Animal stepping  ! <br />而我本来是想在子类People覆盖掉父类Animal的step方法的，原因很简单：最后才声明People继承Animal，copy过程中父类把子类的方法覆盖了！！<br />正确的办法是先声明继承（把父类的属性先copy过来)，然后再定义子类的方法、属性，比如这个例子，即把<br />Object.extend(People.prototype,Animal)//copy 事例变量<br />这句放到var People=Class.create();之后。
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/167116#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, 04 Mar 2008 00:13:00 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/167116</link>
        <guid>http://xjtusaber.javaeye.com/blog/167116</guid>
      </item>
      <item>
        <title>Javascript中Class的定义</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/166688" style="color:red;">http://xjtusaber.javaeye.com/blog/166688</a>&nbsp;
          发表时间: 2008年03月02日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre name="code" class="javascript">/**
 * 工厂方法：
 * 存在问题：重复创建对象eat
 */
function CreatePeople(name){
  var  people=new Object();
  people.name=name;
  people.eat=function(){
  	alert(this.name+' is eating  !!')
  };
  return people;
}
/**
 * 构造函数法：
 * 存在问题：重复创建对象eat
 * 使用new 来创建对象，如:var p=new People('saber')
 * 在执行第一句代码前，先创建一个对象(并返回,所以构造函数最后无须return),只有用this才能访问该对象,
 * 
 */
function People(name){
  this.name=name;
  this.eat=function(){
  	alert(this.name+' is eating  !!')
  };
}
/**
 * 混合的构造函数/原型方式（推荐）
 */
var People1=function (name){
	this.name=name;	
}
People1.prototype={
	eat:function(){
		alert(this.name+' is eating !')
	}
}
/* 自定义构造函数为:initialize
 * 在使用new创建对象的时候，执行initialize函数，
 */
var People11=function (){
	this.initialize.apply(this, arguments);
}
People11.prototype={
	initialize:function(name){
		this.name=name;
		alert(' Initializing Ok !!');
	},
	eat:function(){
		alert(this.name+' is eating !')
	}
}
/* 有以上基础，如果我们要以一种统一的方式来定义类，该如何呢？
 * 像java中定义类都采用Class关键字一样，而在JS中，没有类这个概念,
 * 那么我们首先声明一个对象MyClass
 */

var MyClass=function(){
	return function(){//闭包
	    this.initialize.apply(this, arguments);
	}
}
/*
 * 定义类：
 */
var ClassOne=MyClass();
ClassOne.prototype={
	initialize:function(name){
        this.name=name;	
        alert(this.name+' initializing Ok !')
	},
	methodOne:function(){
		alert("My name is:" + this.name);
	}
}

var ClassTwo=MyClass();
ClassTwo.prototype={
	initialize:function(name){
        this.name=name;		
	},
	methodTwo:function(){
		alert("My name is:" + this.name);
	}
}

/**
 * 采用prototype.js，它的方法和我们上边的一样:
 * var Class = {
 * create: function() {
 *  return function() {
 *    this.initialize.apply(this, arguments);
 *  }
 * }
 *}
 */
var People2=Class.create();
People2.prototype={
	//自定义的构造函数:initialize
	initialize:function(name,sex){
		this.name=name;
		this.sex=sex;
	},
	eat:function(){
		alert(this.name+' is eating ');
	},
	showSex:function (){
		alert(this.name+'\'s sex is :'+this.sex);
	}
}
</pre>
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/166688#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>Sun, 02 Mar 2008 21:24:45 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/166688</link>
        <guid>http://xjtusaber.javaeye.com/blog/166688</guid>
      </item>
      <item>
        <title>java实现中英文混合字符截取方法</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/164364" style="color:red;">http://xjtusaber.javaeye.com/blog/164364</a>&nbsp;
          发表时间: 2008年02月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          题目：<br />编写一个截取字符串的函数，输入为一个字符串和字节数，输出为按字节截取的字符串。 但是要保证汉字不被截半个，如“我ABC”4，应该截为“我AB”，输入“我ABC汉DEF”，6，应该输出为“我ABC”而不是“我ABC+汉的半个”。     <br /><br /><br /><br /><br />如果是charset(gb2312, GBK, BIG5)， 汉字占两个字节，问题的关键在于考虑截取长度的最后一个字节，如果是属于一个汉字的第一个字节，忽略即可，而汉字每个字节前都是1，所以都是负数，采用if(byte[i]&lt;0)判断是否是汉字的最后一个字节。<br />目前看到的最好的办法：<br /><br /><br /><pre name="code" class="java">import java.io.UnsupportedEncodingException;

public class StringSpliter {

	static void fun1(String str, int length)
			throws UnsupportedEncodingException {

		// System.out.println(str.getBytes().length);
		byte[] bt = str.getBytes("gbk");
		for (int i = 0; i &lt; bt.length; i++) {
			// 打印出字节数组中的值，可以看出只要是汉字[采用GBK编码时占两个字节/UTF-8占3个字节]，并且为两个负整数
			// 由于字节的第一位都是1,所以它就是由负数来表示的
			System.out.println(bt[i]);
		}

		// 打印出按实际出入的字节数的所截字符串
		// System.out.println(new String(bt,0,length));

		// 判断最后一个是否为负，如果是负的则丢掉该字节
		if (bt[length] &lt; 0) {
			System.out.println(new String(bt, 0, --length, "gbk"));
		} else {
			System.out.println(new String(bt, 0, length, "gbk"));
		}
	}

	public static void main(String[] args) {

		// StringSpliter.fun1("我ABC", 4);
		try {
			StringSpliter.fun1("我ABC汉DEF", 7);
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

}
</pre>
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/164364#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>Fri, 22 Feb 2008 22:07:09 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/164364</link>
        <guid>http://xjtusaber.javaeye.com/blog/164364</guid>
      </item>
      <item>
        <title>[zz]十分钟让你看懂中国经济形势</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/163272" style="color:red;">http://xjtusaber.javaeye.com/blog/163272</a>&nbsp;
          发表时间: 2008年02月19日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          本文以最浅显的道理阐述经济的真相。不会有任何所谓的学术妓女们常用来欺骗人民的深奥的学术理论，还事实以清白，真相只有一个，让我们擦亮眼睛，洞观今天发生的一切。本文在以下几方面阐述中国经济的真相。　　　　　　 <br />　　<br />　　 1、 什么是经济发展？ <br />　　<br />　　 简单的讲经济发展就是有钱，但钱从何来？钱只能印出来。那么到底是什么使印钞机不停的运转？假设一个岛上有1000口人，与世隔绝，人与人之间交换物品过活，但有时候你手里用来交换的东西不一定就是对方想要的，怎么办？于是人们就用都喜欢的金银作为交换的东西，于是交换方便了。但金银要磨损，携带也不方便，当交换活动频繁时，发现这个东西太繁琐，限制了交换活动，于是为了解决这个问题，想了一个办法，就是由岛上的管理者发行一种符号，用它来代替金银，于是钞票出现了。　　　　<br />　　<br />　　刚开始这种钞票可以随时得兑换金银。大家都很放心，因为钞票就是金银。可是岛上金银的产量太小，当人们的交换活动更加频繁时，钞票不够用了，只能暂停交换。暂停交换的后果就是大家不生产别人想要的东西了，因为虽然别人用，但交换不出去，套用现在的话说就是经济发展减速了。于是大家想了一个办法，成立一家钱庄，这个钱庄是大家的，由钱庄来发行钞票，印出的钞票借给想用钱的人，然后这个人有钱了再还给钱庄。于是银行就出现了。 <br />　　<br />　　 银行的出现，能保证交换活动更持续的进行，大家都拼命的生产，岛上的东西越来越多，银行根据产品的生产数量，不停的印制钞票，以保证交换能更深入的进行。<br />　　<br />　　 后来人们的交换活动更频繁了，一家钱庄太少了，于是出现了很多钱庄，总要有个管钱庄的吧，于是指定一家钱庄管理其他钱庄，并且钞票只能由这家钱庄印刷，然后通过其他钱庄借给用钱的人，中央银行就这么也出现了。　　　　　　 <br />　　<br />　　 2、什么是对外贸易？<br />　　<br />　　有一天岛上的人发明了船，于是就到处划船跑，发现了另一个岛屿，那上面也有人，也有钞票，也像自己岛上这么活动。但自己岛上生产的东西多，那个岛上生产的东西少，1元钱在自己的岛上能买1斤大米，那个岛上的一元钱只能买半斤大米，于是另外岛上的钱来这个岛上买东西时只能2元换1元才行。于是汇率出现了。算好汇率后，他们开始互相买卖东西到对方岛上，这就是对外贸易。对外贸易丰富了人们的生活生产需要，使交换活动到了一个空前的高潮<br />　　<br />　　 3、什么是通货膨胀？ <br />　　<br />　　由于岛上生产的产品太多了，以至于没法准确估计到底该发行多少钞票，发行多了的时候，因为没有那么多产品可买，产品就开始涨价，发行少了呢就开始降价，为了保证价格稳定，央行要求各钱庄要把一部分钱放在央行里面用来调节产品的价格，根据价格情况多放和少放。这就是存款准备金率。<br />　　<br />　　可是有一部分聪明人开始怎么才能把钱弄到自己手上，他在海边捡了一颗石子，说这个石子值100万快钱，把它卖给了一个人，这个人觉得整个岛上的钱加一起也没有100万啊，怎么办，于是向钱庄借，钱庄也没有这么多钱，于是把印钞机打开，印了这100万，借给了他买了这个石子。<br />　　<br />　　然后这个人开始卖这个石子，100万卖给了第二个人，由于第一个卖石子的人把钱花了，所以岛上的钱多了，所以这一百万可以筹集到，多买些产品就有了。但当把这个石子以200万转让的时候，钱庄只能又印了100万钞票，就这样钞票越印越多，可是当这个石子不停的流动转让时，大家并不觉得岛上的钱多，产品价格还是原来的那样。可是当这个石子不流通或流通的慢时，大家觉得钱多了，可是如果当持有石子的人把它扔到大海里，那就等于岛上凭空多出N多个100 万来，怎么办，央行最害怕的就是这颗石子没了。它没了岛上产品的价格就会飞涨，就会通货膨胀。那么持有石子的人就绑架了岛上的经济。<br />　　<br />　　 4、房价能绑架中国经济吗？ <br />　　<br />　　 中国的房地产已经使中国央行发行了太多的人民币，如果房价下降，等于把那颗石子投进了海里，那么多印出来的钱会使中国产品价格飞涨，会发生严重的通货膨胀。 <br />　　<br />　　看似房价与石子毫无相干，可是他们的属性是一样的，就是价格和价值严重的背离。实际上房地产的崩盘受害最大的并不是中国的商业银行，而是整个中国经济体系。为什么政府迟迟没有把房价降下来，不是降不下来，如果真想降房价，只需要一道政令，房地产价格会在一夜之间土崩瓦解。可是后果谁能承担，严重通货膨胀谁来负责？ <br />　　<br />　　 房地产业已经绑架了中国的经济，是无可置疑的，是客观实在的，没有人能改变。<br />　　<br />　　 不管谁是总理，廉洁也好，贪污也好，都希望社会和谐，可这是一个棘手的问题。 <br />　　<br />　　 5、房价和通货膨胀有关系吗？<br />　　<br />　　可更棘手的问题还不仅仅在这里。如果降房价，面对的是马上的通货膨胀，可不降房价，那么面对的就是更严重的通货膨胀，何去何从？所以最可靠的办法就是稳定房价，然后在社会产品增加时，减少货币的投放量，加上其他政策如加息、增加商业银行准备金率、缩小信贷规模等辅助手段，来使中国经济软着陆，这是最好的办法，我们看到的一切政令也是这个逻辑。不信的话，可以查阅一下近年来政府发布的一系列调控房地产业的措施。可是为什么房价不稳定而且更加的疯长呢？难道是开发商与政府在博弈吗？告诉你在中国没有人能和党叫板，几个肚子大点的开发商是没有这个实力的。实际上是幕后的另一只黑手在和中国政府博弈，这支黑手就是外资，以美国为代表的帝国主义攫取中国人民血汗的黑手。　　　 <br />　　<br />　　 6、房价高涨的原动力是什么？ <br />　　<br />　　 使房价上涨的动力很多，房价上涨对其有利的人就是动力之一，比如：为了GDP和个人利益的地方政府、为了赚钱的开发商、炒房族、以至于买了房的所谓“房奴”都是是房价上涨的动力，可是最大的原动力不是这些，是外资，是美国的以攫取超额利润的各大财团。 <br />　　<br />　　开发商作为商人，为了赚取高额利润不是什么伤天害理的事情，可是各行各业都有商人，难道想赚就有吗？那除非是神话。房地产业的开发商也一样，不是他们想赚多少就有多少的。根据价值规律，当商品的价格和价值严重背离时，会有一种趋向正常价格回归的力量钳制价格的上涨，可是在中国的房地产业，这种规律似乎不起作用，一个重要的原因是忽视了一个参考范围的原因，如果以中国经济本身而言确实打破了这个规律，可是目前的情况是有一股力量在维持着房地产业的价格，即托市，那么谁在托市呢？谁能在房地产业失控能得到巨额利润的人就是托市的人。 <br />　　<br />　　讨论这个问题前，现看一下中国的外汇储备情况。中国的外汇储备在近几年迅速由1、2千亿突破万亿，并且还在迅速的增长，难道是中国人民奋发图强，挣来的吗？这个不需要证明，看中国的GDP增幅就知道，外汇储备的增长速度明显大于GDP的增幅。显然不是挣来的，那么除了挣来的一部分，那么就是所谓的“国际热钱”的涌入，而国际热钱的涌入的目的只有一个，就是要取得高额的回报。国际热钱进入中国市场后，首先要兑换成人民币，那么一下子哪有这么多人民币呢？只有一个办法就是让印钞机没日没夜的工作，然后这笔钱用来托住已是烫手山芋的房地产市场，就是拼命的投资房地产业，当房地产价格因背离价值而向下波动时，通过托市再把它抬高，反复如此，给人的表象就是房产价格决没有偏离价值。导致房价越涨越高。 <br />　　<br />　　 而开发商呢，他们一到房子将要卖不出去的时候，就有人出高价买下来，他们怎么会降价，如果没有这部分资金在运作，别说是开发商联盟，就是全国只有一个开发商，价格也会降下来，没有人买了，难道等房子发霉吗？ <br />　　<br />　　 那么外资持有这么多高价房产做什么？不怕砸到手里吗？不怕！为什么呢？在这个资本运作的过程中，有一个冤大头在最底下接着呢，是谁呢？就是中国的商业银行，由于火爆的房地产市场，一流的流通性，近年来没有看到任何萎缩的迹象，放了贷款就盈利，为什么不贷款呢？没有理由不放贷款。加之中国老百姓买房的心情，外资可以轻易的把高价房转嫁到中国的银行和消费者身上，连炒房的农民都能赚到一杯羹，职业的外资会赔钱吗？<br />　　<br />　　 那么房价一直涨下去，会怎样呢？请看下一节：“7、房价一直涨下去，开发商会笑还是会哭？什么情况下会笑？什么情况下会哭？” <br />　　<br />　　 7、房价一直涨下去，开发商会笑还是会哭？什么情况下会笑？什么情况下会哭？ <br />　　<br />　　 在中国政府近几年来密集的几十道金牌的调控下，房价还是如脱了缰的野马一样狂奔不止。暂且不论何时能停止上涨的势头，毕竟房价在目前还是上涨的，所以我们就看看房价上涨不止会带来什么。<br />　　<br />　　 首先：由于GDP上涨，中国政府为了维持上文说的“保持产品交换的继续”要不断地投放人民币，即开动印钞机。只要房地产这个石子还没有投入到大海里去，还有一定的流通性，那么就不会有通货膨胀的发生。 <br />　　<br />　　 其次：开发商会在这个过程中也赚取巨大的利润。 <br />　　<br />　　再次：能看到的是，炒房族会赚钱、所谓的买房的“房奴”会增值。都赚钱！可是在这个过程中到底谁亏了呢？钱从哪里来呢？如果你是有炒股的经验就会知道，如果投资价格和价值背离的商品，你赚的钱就是别人赔的钱，那么套用到房地产上，就是买房自住的人，现在看似增值，那是镜中月、水中花，你不变现就不是你的。再有就是当价格完全回归真实价值的时候，有时甚至会到真实价值一下，被高价房套住的投资者。还有一个就是开发商！ <br />　　<br />　　为什么说开发商也有赔钱呢？大家知道商人的本性是赚钱，赚取利润。如果一个商人投机一次就永远都不做这个生意了，他是赚钱了，可他不是商人，这种商业行为没有意义。由于商人的本性，所以赚来的钱会继续扩大再生产，在能赚钱的领域不断的加大投资。这个道理从生活中就可看出来，越是做大生意的人总喊没钱，因为要更大的流动资金来维持其扩大再生产的需要。<br />　　<br />　　所以一旦房价回归真实的价值之时，就是有一大批开发商崩溃之日。这个是不以任何人的意志和任何行为为转移的。如果现在有开发商逃离房地产业的角斗场，那么跑得慢的就是最后的输家。如果都不跑，就像击鼓传花一样，最后拿到接力棒的就是接盘者。有句话叫：“出来混迟早是要还的”。也许只不过是方式不一样，看谁的运气好而已。<br />　　<br />　　 可是现在却没有任何的开发商赔钱的迹象，有的是开发商不断的赚钱，老百姓送钱都来不及。只是因为目前房价还在上涨，房产还在不断的流动。<br />　　<br />　　 一个巨大的问题来了，这样不断上涨的房价何时是个头啊，请看下一节：“8、坐在华尔街办公室的财团们是如何吸干中国山区一个农民的血汗的” <br />　　<br />　　 8、坐在华尔街办公室的财团们是如何吸干中国山区一个农民的血汗的 <br />　　<br />　　 毛主席说过：“帝国主义没有睡大觉,而是天天在蠢蠢欲动,在图谋不轨,想达到他们的罪恶目的。诚然他们的气焰的确没有<br />　　以前那么嚣张,但他们确实在活动着。”是不是冷战结束就代表着人类的和平得以实现呢？“一句上帝面前人人平等”就能掩盖帝国主义噬血的本质吗？人人平等的理念是对的，但它只不过是帝国主义用来欺骗人们的伎俩罢了，说到和做到永远是两码事。 <br />　　<br />　　 国际财团通过国际热钱涌入中国，使人民币加大发行量，然后通过房地产炒作，把中国的国内价格水平无限制的提高，GDP的增长又一次使人民币的发行量被迫提高。国际财团心黑手狠，双管齐下，目的就是使中国经济热到烫手，热到让每个中国人为之疯狂。<br />　　<br />　　 我们暂不去关心这个过程，我们放眼未来，看看这一过程的结果是什么样呢？换句话说财团的目的是什么呢？ <br />　　<br />　　很明显，中国人最不愿意看到的事情，就是财团们最乐见的结果。先做个假设，比如国际热钱在投资的中国房地产领域里上演最后的疯狂后，然后把房产成功解套全部变现，如果此时人民币兑美元的汇率达到美国预期最高时，汇率是热钱逃离时需要相乘的那个倍数，会发生什么谁都能想到，所有热钱会一夜之间全部兑换美元逃离。财团们会赚得沟满壕平，中国市场上除了钱就是钱，能遮住天的大把人民币将成为中国人民的噩梦。<br />　　<br />　　 这是中国人最不愿意看到的事情，也是财团最乐见的结果。近期美国不断的通过政治、贸易等手段逼迫人民币升值，而中国政府迟迟不升值或小范围的升值，远远没有达到美国政府的预期，这是在出口处的中美之间的博弈。美国逼迫人民币升值的狼子野心昭然若揭！ <br />　　<br />　　 顺便提一句，如果真的这个升值预期达到了，中国楼市将重演日本上世纪90年代崩盘的历史。只是那时中国经济也会像日本一样进入一个连续低迷不振的不归路。 <br />　　<br />　　 在这种攸关民族生存的问题上，政府会坐视不管吗？就算是退一步来讲，一个完全不负责任的政府遇到这种情况，因为这个资本运作同时也极大侵犯了政府的利益，也会拼命反搏的。 <br />　　<br />　　 那么中国政府会以什么样的方式来化解这一“经济危机”呢？请看下一节：“在有关这场围绕房价和通货膨胀之间的各方博弈中可能选择的中庸路线”。<br />　　<br />　　 9、在有关这场围绕房价和通货膨胀之间的各方博弈中可能选择的中庸路线 <br />　　<br />　　 我一直相信：物极必反，中庸，是老祖宗留给后人解决棘手问题的杀手锏！<br />　　<br />　　 既然是中国房地产“绑架”了中国的经济，那么我们就从“绑架”说起。何为“绑架”，应该是相对弱的一方，拿着相对强的一方的“要害”，使相对强的一方即便有能力对付弱的一方，但碍于投鼠忌器，无力可施。<br />　　<br />　　我们先来看看绑架双方的阵容和各自手上的筹码。房地产业的主体是开发商，所以开发商算一方，它绑架的要害是中国经济，那中国经济是谁的要害呢？是中国人民的要害，代表中国人民的，目前只能是中国政府。中国政府算一方。外资呢？它是煽风点火者，划到开发商一方。中国政府一方有公权力，可以通过税收、财政、经济政策、行政手段对开发商阵营施力，开发商阵营通过源源不断的后备资金来绑架中国经济，且不断的提高赎金。 <br />　　<br />　　问题已经摆在这里，怎么办呢？冲上去一枪击毙，那歹徒非撕票不可，太极端不可行。所以有为政府开出药方，只要实现了某某一条既可降低房价的主意，就犹如这一枪击毙一样是不可行的。我们想象如何解救绑架事件的，首先要稳定住对方的情绪，再一步步地靠近，但这种靠近虽会引起歹徒的敌意，但不会导致他撕票，然后再进一步稳定情绪，再靠近，然后条件成熟时，再稳准狠，即保证人质的安全，又要保证歹徒一举拿下。这才是真正的营救。 <br />　　<br />　　 所以中庸才是解决棘手问题的杀手锏。极端、盲目、冒进是要不得的。 <br />　　<br />　　 针对如何解决中国房地产市场的绑架问题，就要围绕问题的关键部分一步步地施加反作用力，然后一举成功，才是正道。 <br />　　<br />　　第一个关键的部分就是汇率，中国政府会严把汇率关，我们可以预期的是，人民币兑美元的汇率决不会过快升值，但会小幅升值，就是要稳定对方的情绪，如果一点不升，对方会狗急跳墙，如果升的过快，是给自己掘墓，所以为什么中国汇率升幅总是犹抱琵琶半遮面，看看美国政府的态度跟一个绑匪是多么的贴切，我要一瓶果汁，为什么拿来半瓶水。可又说不出什么来，毕竟还能暂时解渴。 <br />　　<br />　　第二个关键是限制资产流动性，既然房地产能绑架中国经济，说明它举足轻重，限制房产的流通性，就可以限制资产的流动性，注意这里是两个概念，“资产流动性”和“房产流通性”。两者完全不同，但又息息相关。房产流通性减弱，资产流动性减弱，那么需要印刷的人民币就减少。就像那个石子，不流通马上通胀，不涨价流通没问题，可是行不通，外资也不同意。既然是不断的上涨价格，只能一步步地限制房产流通，只要房产流通性少一点，通胀就会显现一点，然后再通过上调准备金率和加息等柔性政策来调整一点，用柳叶棉丝掌来化解泰森的一记重拳，以绵柔克强刚、化千钧于无形，这就是中国政府的策略（这好像是中国人最擅长的事情）。我们从官方媒体就能看到相关的消息，楼市签约率在下降，即流通性在下降，然后物价开始有所涨幅，如猪肉等副食产品，但央行马上上调准备金率和加息，来稳定物价。不知各位看官是否也看出些端倪。可预期的是，到完全化解危机之前，会不断地加息和调高准备金率，同时房产流通性会越来越弱，这个预言是否准确可在以后的央行政策上验证。等完全消除了由于经济过热导致的通货膨胀预期，那么就是房地产价格回归真实价值之时。 <br />　　<br />　　 不管你看到没看到，这已是最后的疯狂，我们从两方面来分析： <br />　　<br />　　第一，如果这场博弈以外资胜利而告终，那么中国经济将步日本90年代持续下滑的深渊，由于外资撤走，房市赖以生存的支柱坍塌，房价会一落千丈，可到时候不管是开发商还是老百姓都将承受经济下滑之苦，持有的货币迅速贬值，即便房价落下，也不一定买的起。这是中国政府和中国人民不可接受的，也是无法接受的。 <br />　　<br />　　第二，如果外资以失败而告终，即在汇率上把住出口，让房价回归真实价值，把外资同样套在中国，这才是胜利的前提。那么以美国财团为首的帝国主义噬血者必将疯狂报复，会在投资、出口等各方面对中国施加压力。我们今天人民币升值没有达到美国预期，已经导致中国出口到美国的产品受打压，进而引起了众多的贸易摩擦，由此可见一斑。我们知道，经济发展的三套马车是，投资、出口和消费，在投资、出口领域遭到报复会影响中国经济的发展，但我相信不会影响我们的发展速度，别忘了还有一套马车是“消费”，房价下降后，如果你是爱国者，请现在保护好你的钱包，到时千万别羞羞答答，要果断地出手买房，中国经济会在消费领域异军突起，继续独占世界经济引擎的鳌头。<br />　　<br />　　 所以我们要相信我们的政府，配合我们的政府，政府在事关全局的问题上是和老百姓站在一起的，政府是水上承载的舟，人民是水，没有水，何以载舟。<br /><br />原文地址:<a href="http://cache.tianya.cn/publicforum/content/free/1/1054119.shtml" target="_blank">http://cache.tianya.cn/publicforum/content/free/1/1054119.shtml</a>
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/163272#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/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, 19 Feb 2008 10:43:26 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/163272</link>
        <guid>http://xjtusaber.javaeye.com/blog/163272</guid>
      </item>
      <item>
        <title>Ext2.0学习－初探grid控件</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/162869" style="color:red;">http://xjtusaber.javaeye.com/blog/162869</a>&nbsp;
          发表时间: 2008年02月17日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>代码主要参考ext 2.0的example ，这里加上自己的注释，包括某些参数的含义. <br />使用ext2.0创建表格很简单： <br />第一：准备表头，使用Ext.grid.ColumnModel <br />第二：准备数据，使用Ext.data.Store <br />第三：创建表格，使用Ext.grid.GridPanel,同时把以上的表头和数据放进去。</p><p>&nbsp;</p><p><br /><br />&nbsp;</p><pre name="code" class="java">Ext.onReady(function() {
	/**
	 * 首先是创建表格的ColumnModel,即定义grid的各个列：
	 * Ext.grid.ColumnModel([{
	 * id:          列的唯一标识，可以用于定义css，如：(.x-grid-td-topic b { color:#333 })
	 * header:      列的名称
	 * dataIndex:   在store中本列值的索引
	 * sortable:    设置本列是否支持排序
	 * renderer:    列值的渲染函数，定义函数如：function  renderName(value, cellmeta, record, rowIndex, columnIndex, store){}
	 * width :      列宽
	 * hidden:true  是否隐藏本列
	 * }]);
	 */
	var sm = new Ext.grid.CheckboxSelectionModel();// 多选行
	var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), sm, {
		header : '编号',
		dataIndex : 'id',
		sortable : true
	}, {
		id : 'topic',
		header : '名称',
		dataIndex : 'name',
		renderer : renderName,
		width : 150
	}, {
		id : 'topic',
		header : '描述',
		renderer : renderName,
		dataIndex : 'descn'
	}]);
    /**
     * 准备数据，
     */
	var ds = new Ext.data.Store({
		proxy : new Ext.data.HttpProxy({
			url : 'gridDataJson.jsp'
		}),
		reader : new Ext.data.JsonReader({
			totalProperty : 'totalProperty',
			root : 'root',
			fields : [{
				name : 'id'
			}, {
				name : 'name'
			}, {
				name : 'descn'
			}]
		}),
		remoteSort : true
	});
    /**
     * 创建表格面板,各参数见下注释
     * 
     */
	var grid = new Ext.grid.GridPanel({
		width : 450,
		height : 275,
		//title : 'Ext表格控件',
		el : 'grid-div',       //表格依附对象id ，一般是一个DIV
		ds : ds,// store : ds, //表格数据对象：Ext.data.Store
		cm : cm,               //表头，即ColumnModel
		sm : sm,               //选择行，即CheckboxSelectionModel
		//视图配置
		viewConfig : {
			forceFit : true,
			enableRowBody : true,
			showPreview : false,//是否预览
			getRowClass : function(record, rowIndex, p, store) {
				//p: 预览内容在页面上的放置的对象，
				if (this.showPreview) {
					p.body = '&lt;p&gt;' + record.data.descn
							+ '[----摘要----]&lt;/p&gt;';
					return 'x-grid3-row-expanded';
				}
				return 'x-grid3-row-collapsed';
			}
		},
		//分页工具栏显示在底部，如果要显示在顶部用tbar(top bar)
		bbar : new Ext.PagingToolbar({
			pageSize : 10,
			store : ds,
			displayInfo : true,
			displayMsg : '显示第{0}条到{1}条记录,共:{2}条',
			emptyMsg : &quot;没有记录&quot;,
			items : ['-', {
				pressed : true,
				enableToggle : true,
				text : '预览',
				cls : 'x-btn-text-icon details',
				toggleHandler : toggleDetails
			}]
		})
	});
	grid.render();
	ds.load({
		params : {
			start : 0,
			limit : 10
		}
	});
	function toggleDetails(btn, pressed) {
		var view = grid.getView();
		view.showPreview = pressed;
		view.refresh();
	};
}

)

// 为特定行显示值 进行渲染。
function renderName(value) {
	return &quot;&lt;a href='xqxq' target='_blank' &gt;&quot; + value + &quot;  [----]&lt;/a&gt;&lt;/b&gt;&quot;
}

function renderName2(value, cellmeta, record, rowIndex, columnIndex, store) {
	var str = &quot;&lt;input type='button' value='查看详细信息' onclick='alert(\&quot;&quot;
			+ &quot;这个单元格的值是：&quot; + value + &quot;\\n&quot; + &quot;这个单元格的配置是：{cellId:&quot;
			+ cellmeta.cellId + &quot;,id:&quot; + cellmeta.id + &quot;,css:&quot; + cellmeta.css
			+ &quot;}\\n&quot; + &quot;这个单元格对应行的record是：&quot; + record + &quot;，一行的数据都在里边\\n&quot; + &quot;这是第&quot;
			+ rowIndex + &quot;行\\n&quot; + &quot;这是第&quot; + columnIndex + &quot;列\\n&quot;
			+ &quot;这个表格对应的Ext.data.Store在这里：&quot; + store + &quot;，随便用吧。&quot; + &quot;\&quot;)'&gt;&quot;;
	return str;
}</pre><p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/162869#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>Sun, 17 Feb 2008 22:21:51 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/162869</link>
        <guid>http://xjtusaber.javaeye.com/blog/162869</guid>
      </item>
      <item>
        <title>配置resin支持php</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/160767" style="color:red;">http://xjtusaber.javaeye.com/blog/160767</a>&nbsp;
          发表时间: 2008年01月31日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在项目文件夹WEB-INF下建立 resin-web.xml:<br /><br />&lt;web-app xmlns="http://caucho.com/ns/resin"><br /><br />&lt;servlet servlet-name="resin-php"<br /><br />servlet-class="com.caucho.quercus.servlet.QuercusServlet"/><br />&lt;servlet-mapping url-pattern="*.php" servlet-name="resin-php"/> <br /><br />&lt;/web-app>
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/160767#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>Thu, 31 Jan 2008 17:32:56 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/160767</link>
        <guid>http://xjtusaber.javaeye.com/blog/160767</guid>
      </item>
      <item>
        <title>Oracle函数</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/160050" style="color:red;">http://xjtusaber.javaeye.com/blog/160050</a>&nbsp;
          发表时间: 2008年01月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong>1: SIGN</strong> <br />&nbsp;取数字n的符号,大于0返回1,小于0返回-1,等于0返回0 <br />&nbsp;SQL&gt; select sign(123),sign(-100),sign(0) from dual; <br /><br />SIGN(123) SIGN(-100) SIGN(0) <br />--------- ---------- --------- <br />1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; -1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 <br />可以用他来实现 if-elseif-end的功能. <br /><br /><p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/160050#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, 29 Jan 2008 10:10:42 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/160050</link>
        <guid>http://xjtusaber.javaeye.com/blog/160050</guid>
      </item>
      <item>
        <title>oracle导出数据到文件中的方法</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/155131" style="color:red;">http://xjtusaber.javaeye.com/blog/155131</a>&nbsp;
          发表时间: 2008年01月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          两种方法。<br /><strong>1:  用spool   </strong><br /><br />set echo off           --是否显示执行的命令内容  <br />set feedback off       --是否显示 *   rows   selected   <br />set heading off        --是否显示字段的名称<br />set verify off         --是否显示替代变量被替代前后的语句。fil<br />set trimspool off      --去字段空格<br />set pagesize 500       --页面大小<br />set linesize 500       --linesize设定尽量根据需要来设定，大了生成的文件也大<br />define fil= 'f:\user.xls'<br />prompt *** Spooling to &fil<br />spool &fil<br />select u.username,u.userpwd,u.realname,u.sex,u.mobile,d.dep_name from t_user u left join t_dept d on u.dept_id=d.dep_id ;<br />spool off;<br /><br /><br /><br /><strong>2:采用TODO</strong><br />如果是导出Excel格式文件，会出现中文乱码问题。<br />解决的办法是：<br />导出的选项中选择excel instance；<br />导出的时候,把 Write Wide Strings 选上。
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/155131#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>Fri, 11 Jan 2008 16:54:56 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/155131</link>
        <guid>http://xjtusaber.javaeye.com/blog/155131</guid>
      </item>
      <item>
        <title>setInterval()、setTimeout()的区别与停止</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/154959" style="color:red;">http://xjtusaber.javaeye.com/blog/154959</a>&nbsp;
          发表时间: 2008年01月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong>区别：</strong>setTimeout(表达式,延时时间)；//只执行一次,无周期<br />setInterval(表达式,交互时间)；//周期＝'交互时间'<br /><br /><br /><strong>停止：</strong><br />主要是利用<br />window.clearInterval(intervalID); <br />window.clearTimeout(timeoutID);<br />&lt;SCRIPT>   <br />  var   intervalID=0;   <br />  function   f_start(){   <br />  intervalID=window.setInterval("f_add()",500);   <br />  }   <br />  function   f_add(){   <br />  }   <br />  function   f_stop(){   <br />  window.clearInterval(intervalID);   <br />  }   <br />  &lt;/SCRIPT>
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/154959#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>Fri, 11 Jan 2008 08:57:59 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/154959</link>
        <guid>http://xjtusaber.javaeye.com/blog/154959</guid>
      </item>
      <item>
        <title>javascript获取屏幕位置</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/158786" style="color:red;">http://xjtusaber.javaeye.com/blog/158786</a>&nbsp;
          发表时间: 2007年12月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          java<em>script</em>获取屏幕位置<a name="298" title="298"></a> <div class="postbody"><br /><span style="font-size: 12px; line-height: 15px">网页可见区域宽： document.body.clientWidth<br />网页可见区域高： document.body.clientHeight<br />网页可见区域宽： document.body.offsetWidth (包括边线的宽)<br />网页可见区域高： document.body.offsetHeight (包括边线的高)<br />网页正文全文宽： document.body.scrollWidth<br />网页正文全文高： document.body.scrollHeight<br />网页被卷去的高： document.body.scrollTop<br />网页被卷去的左： document.body.scrollLeft<br />网页正文部分上： window.screenTop<br />网页正文部分左： window.screenLeft<br />屏幕分辨率的高： window.screen.height<br />屏幕分辨率的宽： window.screen.width<br />屏幕可用工作区高度： window.screen.availHeight<br />屏幕可用工作区宽度： window.screen.availWidth&nbsp;</span>&nbsp;</div><div class="postbody"><img src="http://p.blog.csdn.net/images/p_blog_csdn_net/xjtusaber/javascript%20位置.bmp" alt="" /></div>
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/158786#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, 03 Dec 2007 15:51:00 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/158786</link>
        <guid>http://xjtusaber.javaeye.com/blog/158786</guid>
      </item>
      <item>
        <title>使用Hibernate annotation 注解,在添加实体时发生的错误</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/158787" style="color:red;">http://xjtusaber.javaeye.com/blog/158787</a>&nbsp;
          发表时间: 2007年11月27日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <ul><li><span style="font-size: large">&nbsp;1: 注解的实体</span></li></ul><p>&nbsp;@Entity<br />@Table(name=&quot;category&quot;)<br />@DiscriminatorValue(&quot;category&quot;)<br />public class Category implements Serializable {</p><p>&nbsp;private static final long serialVersionUID = 1L;<br />&nbsp;private int id;<br />&nbsp;private String name;<br />&nbsp;@Id<br />&nbsp;&nbsp;&nbsp; @GeneratedValue(strategy = GenerationType.AUTO)<br />&nbsp;public int getId() {<br />&nbsp;&nbsp;return id;<br />&nbsp;}</p><p>&nbsp;public void setId(int id) {<br />&nbsp;&nbsp;this.id = id;<br />&nbsp;}</p><p>&nbsp;public String getName() {<br />&nbsp;&nbsp;return name;<br />&nbsp;}</p><p>&nbsp;public void setName(String name) {<br />&nbsp;&nbsp;this.name = name;<br />&nbsp;}<br />}</p><ul><li><span style="font-size: large">添加时报错:<br /></span><span style="font-size: medium">2007-11-27 08:45:29,890 ERROR [/saber/music/category.do] - &lt;No row with the given identifier exists: [saber.domain.music.Category#0]&gt;<br />javax.servlet.ServletException: No row with the given identifier exists: [saber.domain.music.Category#0]</span></li><li>&nbsp;思考:<br />将以上的实体主键类型由int 改成Integer,就不报错了.&nbsp; 我不禁要问了&nbsp; why?</li></ul>
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/158787#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, 27 Nov 2007 09:00:00 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/158787</link>
        <guid>http://xjtusaber.javaeye.com/blog/158787</guid>
      </item>
      <item>
        <title>javascript 如何判断关闭窗口</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/158788" style="color:red;">http://xjtusaber.javaeye.com/blog/158788</a>&nbsp;
          发表时间: 2007年11月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          &lt;script language=&quot;javascript&quot;&gt;<br />window.onbeforeunload = function()<br />{<br />var n = window.event.screenX - window.screenLeft;<br />var b = n &gt; document.documentElement.scrollWidth-20;<br />if(b &amp;&amp; window.event.clientY &lt; 0 || window.event.altKey)<br />{<br />&nbsp;postTime();<br />&nbsp;window.event.returnValue = &quot; 建议您先停止视频再关闭窗口&quot;; <br />}<br />}<br />&lt;/script&gt;&nbsp;
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/158788#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, 26 Nov 2007 14:08:00 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/158788</link>
        <guid>http://xjtusaber.javaeye.com/blog/158788</guid>
      </item>
      <item>
        <title>Javascript中window.setInterval和window.setTimeout的区别</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/158789" style="color:red;">http://xjtusaber.javaeye.com/blog/158789</a>&nbsp;
          发表时间: 2007年11月26日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          [setTimeout] <br />setTimeout(表达式,延时时间) <br />在执行时,是在载入后延迟指定时间后,去执行一次表达式,记住,次数是一次 <br /><br />用setTimeout实现的自动变化显示随机数的效果: <br /><br />&lt;html&gt; <br />&lt;head&gt; <br />&lt;script&gt; <br />window.onload=sett; <br />function sett() <br />{ <br />document.body.innerHTML=Math.random(); <br />setTimeout(&quot;sett()&quot;,500); <br />} <br />&lt;/script&gt; <br />&lt;/head&gt; <br />&lt;body&gt; <br />&lt;/body&gt; <br />&lt;/html&gt; <br /><br /><br />[setInterval] <br />setInterval(表达式,交互时间) <br />则不一样,它从载入后,每隔指定的时间就执行一次表达式 <br /><br />用setInterval实现的自动变化显示随机数的效果: <br /><br />&lt;html&gt; <br />&lt;head&gt; <br />&lt;script&gt; <br />function sett() <br />{ <br />document.body.innerHTML=Math.random(); <br />} <br />setInterval(&quot;sett();&quot;, 500); <br />&lt;/script&gt; <br />&lt;/script&gt; <br />&lt;/head&gt; <br />&lt;body&gt; <br />&lt;/body&gt; <br />&lt;/html&gt;&nbsp;
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/158789#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, 26 Nov 2007 09:03:00 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/158789</link>
        <guid>http://xjtusaber.javaeye.com/blog/158789</guid>
      </item>
      <item>
        <title>resin3.0.22 更新class文件后自动重启动的解决方案。</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/158790" style="color:red;">http://xjtusaber.javaeye.com/blog/158790</a>&nbsp;
          发表时间: 2007年10月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>环境：&nbsp;resin3.0.22＋JDK 1.5&nbsp;&nbsp;&nbsp;&nbsp; <br />启动命令：httpd.exe&nbsp; &nbsp;-Xdebug </p><p>这样，用Eclipse 保存文件，resin不需要重启就可以动态加载刚生成的class文件了。</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/158790#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, 30 Oct 2007 17:15:00 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/158790</link>
        <guid>http://xjtusaber.javaeye.com/blog/158790</guid>
      </item>
      <item>
        <title>常用JS</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/158791" style="color:red;">http://xjtusaber.javaeye.com/blog/158791</a>&nbsp;
          发表时间: 2007年10月22日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <ol>    <li><strong>JS控制表单输入只能为数字:</strong><font size="1">onpropertychange='if(/[^\-?\d*\.?\d{0,2}]/.test(this.value)) this.value=this.value.replace(/[^\-?\d*\.?\d{0,2}]/,&quot;&quot;)' </font></li>    <li>&nbsp;</li></ol>
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/158791#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, 22 Oct 2007 20:52:00 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/158791</link>
        <guid>http://xjtusaber.javaeye.com/blog/158791</guid>
      </item>
      <item>
        <title>Velocity脚本摘要</title>
        <author>xjtusaber</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://xjtusaber.javaeye.com">xjtusaber</a>&nbsp;
          链接：<a href="http://xjtusaber.javaeye.com/blog/158792" style="color:red;">http://xjtusaber.javaeye.com/blog/158792</a>&nbsp;
          发表时间: 2007年10月20日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><strong>Velocity判断空值方法：<br />依据：<br /></strong>$username与$!username的区别，当找不到username的时候，$username返回字符串&quot;$username&quot;，而$!username返回空字符串&quot;&quot; <br /><strong>所以</strong>：#set($!username=='') 可以判断字符串是否为空</p><p>&nbsp;</p><p>&nbsp;以下为Velocity脚本摘要</p><p><strong>1、声明:#set ($var=XXX)</strong><br />左边可以是以下的内容<br />Variable reference <br />String literal <br />Property reference <br />Method reference <br />Number literal #set ($i=1) <br />ArrayList #set ($arr=[&quot;yt1&quot;,&quot;t2&quot;])<br />技持算术运算符</p><p><strong>2、注释:</strong><br />单行## XXX<br />多行#* xxx<br />xxxx<br />xxxxxxxxxxxx*# </p><p>References 引用的类型<br /><strong>3、变量 Variables</strong> <br />以 &quot;$&quot; 开头，第一个字符必须为字母。character followed by a VTL Identifier. (a .. z <br />or A .. Z).<br />变量可以包含的字符有以下内容：<br />alphabetic (a .. z, A .. Z) <br />numeric (0 .. 9) <br />hyphen (&quot;-&quot;) <br />underscore (&quot;_&quot;) </p><p><strong>4、Properties</strong> <br />$Identifier.Identifier<br />$user.name<br />hashtable user中的的name值.类似：user.get(&quot;name&quot;) </p><p><strong>5、Methods</strong> <br />object user.getName() = $user.getName() </p><p><strong>6、Formal Reference Notation</strong> <br />用{}把变量名跟字符串分开 </p><p>如<br />#set ($user=&quot;csy&quot;}<br />${user}name <br />返回csyname</p><p>$username<br />$!username<br /><strong>$与$!的区别</strong><br />当找不到username的时候，$username返回字符串&quot;$username&quot;，而$!username返回空字符串&quot;&quot; </p><p><strong>7、双引号 与 引号</strong> <br />#set ($var=&quot;helo&quot;)<br />test&quot;$var&quot; 返回testhello<br />test'$var' 返回test'$var'<br />可以通过设置 stringliterals.interpolate=false改变默认处理方式</p><p><strong>8、条件语句</strong><br />#if( $foo ) <br />&lt;strong&gt;Velocity!&lt;/strong&gt;<br />#end<br />#if($foo)<br />#elseif()<br />#else<br />#end<br />当$foo为null或为Boolean对象的false值执行. </p><p><strong>9、逻辑运算符:== &amp;&amp; || !</strong> </p><p>10、循环语句#foreach($var in $arrays ) // 集合包含下面三种Vector, a Hashtable or an Array<br />#end<br />#foreach( $product in $allProducts )<br />&lt;li&gt;$product&lt;/li&gt;<br />#end </p><p>#foreach( $key in $allProducts.keySet() )<br />&lt;li&gt;Key: $key -&gt; Value: $allProducts.get($key)&lt;/li&gt;<br />#end </p><p>#foreach( $customer in $customerList )<br />&lt;tr&gt;&lt;td&gt;$velocityCount&lt;/td&gt;&lt;td&gt;$customer.Name&lt;/td&gt;&lt;/tr&gt;<br />#end<br /><strong>11、velocityCount变量在配置文件中定义</strong><br /># Default name of the loop counter<br /># variable reference.<br />directive.foreach.counter.name = velocityCount<br /># Default starting value of the loop<br /># counter variable reference.<br />directive.foreach.counter.initial.value = 1</p><p><strong>12、包含文件</strong> <br />#include( &quot;one.gif&quot;,&quot;two.txt&quot;,&quot;three.htm&quot; )<br /><br /><strong>13、Parse导入脚本</strong><br />#parse(&quot;me.vm&quot; ) </p><p><strong>14、#stop 停止执行并返回</strong> </p><p>15、定义宏Velocimacros ,相当于函数 支持包含功能<br />#macro( d )<br />&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;<br />#end<br />调用 <br />#d() </p><p><strong>16、带参数的宏</strong><br />#macro( tablerows $color $somelist )<br />#foreach( $something in $somelist )<br />&lt;tr&gt;&lt;td bgcolor=$color&gt;$something&lt;/td&gt;&lt;/tr&gt;<br />#end<br />#end<br /><br /><strong>17、Range Operator</strong> <br />#foreach( $foo in [1..5] )</p><p>&nbsp;</p><p>&nbsp;</p>&nbsp;
          <br/><br/>
          <span style="color:red;">
            <a href="http://xjtusaber.javaeye.com/blog/158792#comments" style="color:red;">已有 <strong>2</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>Sat, 20 Oct 2007 10:09:00 +0800</pubDate>
        <link>http://xjtusaber.javaeye.com/blog/158792</link>
        <guid>http://xjtusaber.javaeye.com/blog/158792</guid>
      </item>
  </channel>
</rss>