阳's profileI BELIEVE I CAN FLYPhotosBlogListsMore Tools Help

Blog


    August 15

    struts2的url标签

    <s:url id="dis" action="excute/viewPlanContent.action" includeParams="none">
        <s:param name="contentId" >
         <s:property value="id"/>
        </s:param>
       </s:url>

    <s:a href="%{dis}">aaa</s:a>

    每次看页面上生成的url总是多一些变量,看了一下像是上一个页面传过来的,估计这个标签有些参数是struts自己弄的,看了一下参考文档,includeParams这个属性是设置是否将上一个页面的一些参数带到下一个页面,将其设置为none,则多于的参数就没有了。

     
    August 01

    Hibernate BLOB CLOB

    hibernate3对 BLOB CLOB 的支持大大增强了 ,之前操作BLOB 的时候要存入空对象,再更新(可以从baidu查一下,有很多)但是hibernate3有更好的支持,如下:
    //如果是CLOB
    @Lob
    public String getFullText(){
     return fullCode;
    }

    //如果是BLOB
    @Lob
    public byte[] getFullText(){
     return fullCode;
    }


    这样的话,CLOB就可以按照字符串操作,BLOB就可以按照byte方式了,这样就很简单了 ,不知道Hibernate内部怎么处理的 ,有空研究一下源码!

    补充:在后来的实际应用的过程中,发现当字符过长之后,根本插不进去数据,后来在文档上看,是jdbc支持的不是很好,所以还要用比较古老的方式来解决问题。

     

    July 26

    Hibernate2 TO Hibernate3

    今天在测试过程中遇到个问题,在 Hibernate2 向 Hibernate3移植的过程中,遇到了一个问题,session的delete方法只能删除对象了 ,如果要将通过一个查询出来的结果进行删除,就要用Query了,这种方式更节省资源,但是会产生问题,比如在一个事务中仍然可以取得删除的对象。要说的是从低版本向高版本移植的过程中,应该考虑到这些问题 ,积累经验啊
    不过为何Hibernate的高本版不兼容低版本呢 ?奇怪!!!
    July 15

    转几个小句子

    To the world you may be one person, but to one person you may be the world
    [%repeat_0 match="/data/option"%]
    [%=@title%] [%=@count%]票 [[%=@percent%]%][%_repeat_0%]

    提交


     

     I love you not because of who you are, but because of who I am when I am with you.
      我爱你,不是因为你是一个怎样的人,而是因为我喜欢与你在一起时的感觉。 




    No man or woman is worth your tears, and the one who is, won‘t make you cry.
      没有人值得你流泪,值得让你这么做的人不会让你哭泣。 




    The worst way to miss someone is to be sitting right beside them knowing you can‘t have them.
      失去某人,最糟糕的莫过于,他近在身旁,却犹如远在天边。 




    Never frown, even when you are sad, because you never know who is falling in love with your smile.
      纵然伤心,也不要愁眉不展,因为你不知是谁会爱上你的笑容。 




    To the world you may be one person, but to one person you may be the world.
      对于世界而言,你是一个人;但是对于某个人,你是他的整个世界。 






    Don‘t waste your time on a man/woman, who isn‘t willing to waste their time on you.
      不要为那些不愿在你身上花费时间的人而浪费你的时间。 





    Just because someone doesn‘t love you the way you want them to, doesn‘t mean they don‘t love you with all they have.
      爱你的人如果没有按你所希望的方式来爱你,那并不代表他们没有全心全意地爱你 





    Don‘t try so hard, the best things come when you least expect them to.
      不要着急,最好的总会在最不经意的时候出现。 





    Maybe God wants us to meet a few wrong people before meeting the right one, so that when we finally meet the person, we will know how to be grateful.
      在遇到梦中人之前,上天也许会安排我们先遇到别的人;在我们终于遇见心仪的人时,便应当心存感激。 






    Don‘t cry because it is over, smile because it happened.
      不要因为结束而哭泣,微笑吧,为你的曾经拥有. 






    “If you love someone, let it be and set him/her free,if he/she comes back to you,it"s meant to be.”
      如果你爱一个人,随遇而安,让他/她自由的飞,如果最后他/她还是回到你身边,那就是命中注定的。
    July 10

    数学与编程

    从csdn截了一段,感觉还是让自己思考了一些东西,觉着自己还有好多的路要走

     
     
    int sum = 0;

    for (int i=1; i&lt;=100; i++)

           sum += i;

    上面这个程序片段还算很容易让人一眼就看懂,可是我们明明国中时就学过了这种数列级数的算法了,怎么还会写出上面这么笨的程序呢?


    int sum = ((1 + 100) * (100 - 1 + 1)) / 2;或更精简的


    int sum = (101 * 100) >> 2;

    这个例子已经被说烂了,我们来来看另一个例子,计算1加到10000,奇数和偶数的总和。用循环的话,一样很直觉得就写出来了:

     

    int oddSum = 0;

    int evenSum = 0;

    for (int i=1; i&lt;=10000; i++)

    {

           if (i % 2 == 0)

                  evenSum += i;

           else

                  oddSum += i;

    }很简单的程序吧!可是我们稍稍的用我们有12年(国小到高中)的数学背景想一下,你可以写出更精简的程序:

     

    int sum = (10001 * 10000) >> 2;

    int evenSum = 5001 * 5000;

    int oddSum = sum - evenSum;什么?看不懂?!sum应该知道怎么算出来吧?就刚刚第一个例子是1加到100,现在改加到10000而已。evenSum呢?简单的推理一下,1到10000之间的偶数总和是是2+4+6+...+10000,把它们全部除以2的话会变成1+2+3+...+5000,所以1到10000偶数的总和不就是1加到5000的两倍吗?

    1加到5000是:

    (5001 * 5000) >> 2两倍就不用除那个2了,所以不就是上面那个算式了吗!

     

    July 06

    秉烟夜谈有感

     

    昨天不知为什么不困了,一直在聊天,发现自己亟待解决的两个问题:
    1 英文文档的阅读。其实自己英语并不是很烂,但是就是懒得一点一点的看那些英文文档。
    2 钻研的精神。一个知识要真正的了解他,从内部的工作原理。
    July 05

    这么多哲理和大便相关

    哲理小故事
    1、一只火鸡和一头牛闲聊,火鸡说:我希望能飞到树顶,可我没有勇气。牛说:为什么不吃一点我的牛粪呢,他们很有营养。火鸡吃了一点牛粪,发现它确实给了它足够的力量飞到第一根树枝,第二天,火鸡又吃了更多的牛粪,飞到第二根树枝,两个星期后,火鸡骄傲的飞到了树顶,但不久,一个农夫看到了它,迅速的把它从树上射了下来。 



    生存之道1:牛屎运让你达到顶峰,但不能让你留在那里。   

    2、乌鸦站在树上,整天无所事事,兔子看见乌鸦,就问:我能像你一样,整天什么事都不用干吗?乌鸦说:当然,有什么不可以呢?于是,兔子在树下的空地上开始休息,忽然,一只狐狸出现了,它跳起来抓住兔子,把它吞了下去。

    生存之道2:如果你想站着什么事都不做,那你必须站的很高,非常高。 

    3、一只小鸟飞到南方去过冬。天很冷,小鸟几乎冻僵了。于是,飞到一大块空地上,一头牛经过那儿,拉了一堆牛粪在小鸟的身上,冻僵的小鸟躺在粪堆里,觉得很温暖,渐渐苏醒过来,它温暖而舒服的躺着,不久唱起歌来,一只路过的野猫听到声音,走过去看个究竟,循着声音,野猫很快发现了躺在粪堆里的小鸟,把它拽出来吃掉了。

    生存之道3:不是每个往你身上拉大粪的人都是你的敌人。也不是每个把你从粪堆里拉出来的人都是你的朋友,还有,当你躺在粪堆里时,最好把你的嘴闭上。     

    4、海底里有一个瓶子,这瓶子里困着一个巨魔。那是五百年前一个神仙把巨魔收到瓶里的。巨魔曾经许过一个愿,谁能把这个瓶子捞起来,把瓶塞打开,把他救出来,他就赠给这个人一座金山。可是,五百年过去了,还没有人把这瓶子捞起来。巨魔十分气恼。他诅咒说 : “以后,如果谁把我救出来,我就一口把这个人吞掉。”有一个青年的渔夫,他撒网捕鱼,当他收网的时侯,发现网里有一个古旧瓶子,他把瓶塞打开,啊 ! 一阵浓烈的烟雾喷出来,徐徐吐出一个比山还大的巨魔。“哈哈哈哈 ! ”巨魔的笑声,震得海涛汹涌起来。他说 : “年青人,你把我救出来,我本应谢谢你,可是,你做得太迟了,倘若你早一年把我救起,你就可以得到一座金山啦 ! 唉,我等了五百年,我太不耐烦了,我已经许了恶愿,要把救我出来的人一口吃掉 ! ”那青年吃了一惊,但立即镇定地说 : “哟,这么小小的瓶子,怎能把你盛下呀,你一定说谎,你再回到瓶子给我看看吧 !”   
       “哈哈哈哈 ,我不会上当的 ! 天方夜谭早把这个古老的故事说过了,我如果再钻入瓶子里,你把塞子再塞上,故事不就说完了么 ? ”“什么 ? 你有看过天方夜谭么 ? 你真是一个博学多才之士呀 ! 你还有看过苏格拉底的哲学著作吗 ? ”“哈哈 ! 这五百年我躲进瓶子里,穷读天下的经典著作,苦苦修行,莫说是西方的巨著,东方的大学、中庸、论语、孟子我都念得熟透了。”“啊,中国太史公的史记你也颇有研究吧 ? 墨子的著作有涉猎么 ? ”“别说了,经史子集无一不通 ! ”“不过,我想你一定没有见过红楼梦的手抄本,这是一部难得一见的版本呢 ! ”“哈哈哈,你这个小子太小觑我了,这本书的收藏者正是我呀 ! 让我拿出来给你开开眼界吧 !”巨魔立即又化作一阵浓烟,徐徐进入瓶子里。这时侯,那青年渔夫不再迟疑,连忙把瓶塞堵住瓶子了。  

    5、从前,有两个饥饿的人得到了一位长者的恩赐:一根鱼竿和一篓鲜活硕大的鱼。其中,一个人要了一篓鱼,另一个人要了一根鱼竿,于是他们分道扬镳了。得到鱼的人原地就用干柴搭起篝火煮起了鱼,他狼吞虎咽,还没有品出鲜鱼的肉香,转瞬间,连鱼带汤就被他吃了个精光,不久,他便饿死在空空的鱼篓旁。另一个人则提着鱼竿继续忍饥挨饿,一步步艰难地向海边走去,可当他已经看到不远处那片蔚蓝色的海洋时,他浑身的最后一点力气也使完了,他也只能眼巴巴地带着无尽的遗憾撒手人间。

    又有两个饥饿的人,他们同样得到了长者恩赐的一根鱼竿和一篓鱼。只是他们并没有各奔东西,而是商定共同去找寻大海,他俩每次只煮一条鱼,他们经过遥远的跋涉,来到了海边,从此,两人开始了捕鱼为生的日子,几年后,他们盖起了房子,有了各自的家庭、子女,有了自己建造的渔船,过上了幸福安康的生活。

    一个人只顾眼前的利益,得到的终将是短暂的欢愉;一个人目标高远,但也要面对现实的生活。只有把理想和现实有机结合起来,才有可能成为一个成功之人。有时候,一个简单的道理,却足以给人意味深长的生命启示。 

    6、孔子的一位学生在煮粥时,发现有肮脏的东西掉进锅里去了。他连忙用汤匙把 它捞起来,正想把它倒掉时,忽然想到,一粥一饭都来之不易啊。于是便把它吃了。/刚巧孔子走进厨房,以为他在偷食,便教训了那位负责煮食的同学。经过解释,大家才恍然大悟。孔子很感慨的说:“我亲眼看见的事情也不确实,何况是道听途听呢?”

    启示:推销生意是一种组织性质的生意,因为人多,人事问题也多。我们不时听到是非难辨的话,如某公司攻击另一间公司,如是者往往令人混淆是非,影响信心。因此找出事情的真相,不是轻易相信谣言,辛辛苦苦建立的事业才不会毁于一旦。  

    7、有位秀才第三次进京赶考,住在一个经常住的店里。考试前两天他做了三个梦,第一个梦是梦到自己在墙上种白菜,第二个梦是下雨天,他戴了斗笠还打伞,第三个梦是梦到跟心爱的表妹脱光了衣服躺在一起,但是背靠着背。

    这三个梦似乎有些深意,秀才第二天就赶紧去找算命的解梦。算命的一听,连拍大腿说:“你还是回家吧。你想想,高墙上种菜不是白费劲吗?戴斗笠打雨伞不是多此一举吗?跟表妹都脱光了躺在一张床上了,却背靠背,不是没戏吗?”

    秀才一听,心灰意冷,回店收拾包袱准备回家。店老板非常奇怪,问:“不是明天才考试吗,今天你怎么就回乡了?”秀才如此这般说了一番,店老板乐了:“哟,我也会解梦的。我倒觉得,你这次一定要留下来。你想想,墙上种菜不是高种吗?戴斗笠打伞不是说明你这次有备无患吗?跟你表妹脱光了背靠靠躺在床上,不是说明你翻身的时候就要到了吗?”

    秀才一听,更有道理,于是精神振奋地参加考试,居然中了个探花。

    积极的人,象太阳,照到哪里哪里亮,消极的人,象月亮,初一十五不一样。想法决定我们的生活,有什么样的想法,就有什么样的未来。 

    8、有一天动物园管理员们发现袋鼠从笼子里跑出来了,于是开会讨论,一致认为是笼子的高度过低。所以它们决定将笼子的高度由原來的十公尺加高到二十公尺。结果第二天他们发现袋鼠还是跑到外面来,所以他们又决定再将高度加高到三十公尺。

    沒想到隔天居然又看到袋鼠全跑到外面,于是管理员们大为紧张,决定一不做二不休,将笼子的高度加高到一百公尺。

    一天长颈鹿和几只袋鼠们在闲聊,“你们看,这些人会不会再继续加高你们的笼子?”长颈鹿问。

    “很难说。”袋鼠说∶“如果他们再继续忘记关门的话!”

    其实很多人都是这样,只知道有问题,却不能抓住问题的核心和根基。

    July 02

    SSH

     期待已久的SSH 终于开始用了 ,但是并不是期待的那么好,发现什么东西期待的久了,真正实现自己梦想的时候,就不是想象中的那么好了,做起来很别扭,也不知道为了什么 ,对知识和业务都不是那么熟,导致自己很无知,努力学习中
    May 11

    小改动,大智慧

    if("someString".equals(someVar)),if(someVar.equals("someString"))
    好像效果是一样的 都是验证某个字符串和某个变量是不是一样,但是前者和后者是有很大的区别的,假如这个变量是空,那么就会有空指针的异常,所以把字符串写到前边,就不会有那个异常了,小小的改动,实现了功能,又不出现异常,否则还要多写一个判断if(someVar != null)
     
    April 28

    我的可怜的英语啊

    忙里偷闲看几篇英语的小短文,竟然读不下来了 郁闷, 一些基本的词组也不知道什么意思了,还有最重要的是一些基本的语感已经离我而去了 ,想想自己学习英语的历程,也是一个很伟大的工程,从小学5年级开始,因为老师讲的特别好,对英语产生了浓厚的兴趣,每天花好多的时间来看英语 ,其实也就是26个字母和一些hello之类的话,但是就是这些的熟练掌握,对以后初中,高中,大学对学习英语的自信倍增,大学4级通过以后是一个转折点,从此以后可以说是放下了这个,慢慢的淡忘了这个,考六级的时候,一次比一次成绩差 ,后来干脆就不考了 ,郁闷 ,写这个文章督促自己每天看一个英语小短文,呵呵 ,作为一个爱好,巩固一下
    March 02

    遍历HashMap

    Example 1: 通过迭代key得到value中的值

     

    try {

    HashMap hm = new HashMap();

    hm.put("1", "yi");

    hm.put("2", "er");

    hm.put("3", "san");

    hm.put("4", "si");

    hm.put("5", "wu");

    Iterator it=hm.keySet().iterator();

    while(it.hasNext()){

    String key=(String)it.next();

    System.out.println(hm.get(key));

    }

    } catch (Exception e) {

    e.printStackTrace();

     

    }

     

    Example 2:直接迭代value中的值

     

    try {

    HashMap hm = new HashMap();

    hm.put("1", "yi");

    hm.put("2", "er");

    hm.put("3", "san");

    hm.put("4", "si");

    hm.put("5", "wu");

    Iterator it=hm.values().iterator();

    while(it.hasNext()){

    System.out.println(it.next());

    }

    } catch (Exception e) {

    e.printStackTrace();

    }

     

    Example 3 同时获得keyvalue

    try {

    HashMap hm = new HashMap();

    hm.put("1", "yi");

    hm.put("2", "er");

    hm.put("3", "san");

    hm.put("4", "si");

    hm.put("5", "wu");

    Iterator it=hm.entrySet().iterator();

    while(it.hasNext()){

    Map.Entry map=(Map.Entry)it.next();

    System.out.println(map.getKey()+" - "+map.getValue());

    }

    } catch (Exception e) {

    e.printStackTrace();

    }

    March 01

    checkbox的传值

    取checkbox值的两种方法[工作过程中整理]:
    如页面A 传到页面B..
    示例
    1: 
    页面A定义
    <%for (int i=0;i<10;i++){%>
    <input type=“checkbox“ name=“msgid“ value=“<%=i%>“>
    <%}%>
    页面B取值
    String[] msgid = request.getParameterValues("msgid");
    存到数组里面
    2: 
    页面A定义
    <%for (int i=0;i<10;i++){%>
    <input type=“checkbox“ name=“msgid“ value=“<%=i%>“>
    <%}%>
    <input type=“hidden“ name=“msgids“ value=““>
    <script language="JavaScript">
    <!--
    var ids="";
    for(i=0;i<form1.msgid.length;i++)
     {
         if(form1.msgid[i].checked==true) ids=ids+form1.msgid[i].value+",";
     }
       document.all.form1.msgids.value=ids;
       if(ids.indexOf(",")<0)
       {
        alert("请至少选择一条信息");
        return false;
       }
       form1.action="del_reced.jsp";
       document.form1.submit();
    }
    -->
    </script>
    页面B取值
    String[] msgid = request.getParameterValues("msgid");
    存到数组里面

    第一种方式好像只能取到null 或者on第二种可以灵活的用js取到自己想要的东西,放入隐藏控件中,通过这个控件传递到另一个页面
    February 28

    无语了!

    无语了!
    February 10

    生日

    今天是我的生日,因为我的生日比较靠近过年,所以每一次都是在加过的,都是家人的陪伴,但是这次在外地出差,只能和同事一起过了 ,让给我们做饭的阿姨做的面条,呵呵 ,昨天晚上我们通宵的时候,和我一起打拼的兄弟都祝我生日快了 ,也是很特殊的一个生日,虽然没有。。没有。。 但是有。。  呵呵  蛮高兴的
    January 29

    加班才刚刚开始

    it(挨踢)人没有周末 ,没有明显的上班和下班的界限。
    以前感觉在公司加班很累 ,现在才知道,那个只是小儿科,
    让加班来的更猛烈些吧(倒!!!!
    January 27

    在青海郁闷中

    随着飞机与地面的强烈的摩擦,我心里想,青海,i am coming!!!
     
    November 24

    hibername

    hibernate中,在涉及多表查询并且只想要其中的几个字段的情况下,可以用动态实例化查询结果的方法,在bean中给出要实例化的字段的构造方法在查询语句中就可以实例化。

    Eg.select new mapack.CustomRow(c.id,c.name,o.orderName) from Customer c join c.order o where  o.drderNumber = 4

    注意:类名要有完整的从顶级开始的地址,否则就报错,找不到类。
    November 11

    回来

    今天终于回到了学校,可以放松一下了 .郁闷了很久了 ,怀念学校的生活,悠闲,没有压力,今天回来也没有饭卡了,让宿舍人请客吃饭了,在食堂,还是那样的难吃,但是很亲切,在宿舍自己的床上躺下,很有感觉,跟一个哥们在学校转了一圈 ,在旁边的小吃部吃的羊肉串  ,本来要喝可乐的 ,但是天很冷,然后改咖啡了,但是很别扭,羊肉串配咖啡,呵呵 ,莫非是绝陪,和哥们聊了一会 ,回忆 了一下大学的时光, 很爽  ,有空就回来,感受一下!!
    October 15

    这一周

    这一周比较郁闷,自己原来是。net的,现在改java了,一切的一切都是新的(这不是理由),这周组长交给我做的任务我都没有完成,感觉自己心好累,也有其他的原因,但是这些都不是理由还是自己学习的太慢了,加油吧 
    还好周末可以几个大男生在家做做菜,品尝自己的手艺  乐哉  !!
     
    这一周出现在我们面前的就是加班  ,盒饭 ,自助  ,
    中午自助,晚上加班,吃盒饭   就这样过了一周!!不知不觉就过去了,虽然学了一些东西,但是还是感觉自己在这个方面还是不行,对于别人来说,自己还是一个菜鸟,下周一定要加油啊,把自己落下来的逐渐补上来,自己的人任务还是很重的,好好表现吧!!
    September 24

    加班

    做程序的,没有不加班的,以前自己再学校的时候,也经常通宵做东西,现在工作了,项目催的紧,也只能加班了 ,刚到公司的时候 ,看见有些人一直在加班,感觉到自己有一天也会这样的,现在,我们在做一个项目,虽然现在还没有到交工的时间,但是为了把项目组拉回北京,只好给客户先做静态的页面 ,展示给客户,等客户满意了,就可以放心回去 ,现在我们就在做这个工作,尽快的把样子座出来,然后客户满意以后,我们整体回去,为了周一让客户看见,我们只好加班了,其实早就把这个看开了 ,因为上学的时候也有老师补课的,没有办法 ,老师是为了我们好(这句话看你怎么理解了)所以现在加班就没有什么纳闷的了。 不同的时,那个时候给来时钱,不过现在给我们钱(应该这个样子,但是不一定,呵呵)