leisure

          JAVA - exceed,helloworld
          隨筆 - 50, 文章 - 0, 評論 - 11, 引用 - 0
          數據加載中……

          2012年4月12日

          flash調用javascript

          flash.external.ExternalInterface.call("pop")

          posted @ 2013-01-11 10:34 leisure 閱讀(523) | 評論 (0)編輯 收藏

          spring2 JNDI

                <bean id= "myjndi" class= "org.springframework.jndi.JndiObjectFactoryBean" >
                       <property name ="jndiName" value= "java:comp/env/jdbc/myjndi" />
                </bean >

          posted @ 2013-01-11 10:33 leisure 閱讀(513) | 評論 (0)編輯 收藏

          兩個div在同一行

          <style>
          .b,.c{float:left; margin-right:10px;}
          </style>
          <div class="a">
            <div class="b">
                test
            </div>
            <div class="c">
                 testc
            </div>
          </div>

          posted @ 2013-01-11 10:32 leisure 閱讀(930) | 評論 (0)編輯 收藏

          Javascriptz格式化數字

          <script>
              
          /*** 格式化數字顯示方式
                  * 用法
                  * formatNumber(12345.999,'#,##0.00');
                  * formatNumber(12345.999,'#,##0.##');
                  * formatNumber(123,'000000');
                  * @param num* @param pattern
              
          */
              
          function formatNumber(num,pattern){
                  num 
          = Number(num);
                  
          var strarr = num?num.toString().split('.'):['0'];
                  
          var fmtarr = pattern?pattern.split('.'):[''];
                  
          var retstr='';    // 整數部分
                  var str = strarr[0];
                  
          var fmt = fmtarr[0];
                  
          var i = str.length-1;
                  
          var comma = false;
                  
          for(var f=fmt.length-1;f>=0;f--){
                      
          switch(fmt.substr(f,1)) {
                          
          case '#':
                              
          if(i>=0 ) retstr = str.substr(i--,1+ retstr;
                              
          break;
                          
          case '0':
                              
          if(i>=0) retstr = str.substr(i--,1+ retstr;else retstr = '0+ retstr;
                              
          break;
                          
          case ',':
                              comma 
          = true;
                              retstr
          =','+retstr;
                              
          break;
                      }
                  }
                  
          if(i>=0){
                      
          if(comma){
                          
          var l = str.length;
                          
          for(;i>=0;i--){
                              retstr 
          = str.substr(i,1+ retstr;
                              
          if(i>0 && ((l-i)%3)==0) retstr = ',' + retstr;
                          }
                      } 
          else 
                          retstr 
          = str.substr(0,i+1+ retstr;
                  }
                      retstr 
          = retstr+'.';// 處理小數部分
                      str=strarr.length>1?strarr[1]:'';
                      fmt
          =fmtarr.length>1?fmtarr[1]:'';
                      i
          =0;
                      
          for(var f=0;f<fmt.length;f++){
                          
          switch(fmt.substr(f,1)){
                              
          case '#':
                                  
          if(i<str.length) retstr+=str.substr(i++,1);
                                  
          break;
                              
          case '0':
                                  
          if(i<str.length) retstr+= str.substr(i++,1);
                                  
          else retstr+='0';
                                  
          break;
                              }
                      } 
                      
          return retstr.replace(/^,+/,'').replace(/\.$/,'');
              }
              
              document.write(
          "formatNumber('','')=" + formatNumber('',''));
              document.write(
          "<br/>");
              document.write(
          "formatNumber(123456789012.129,null)=" + formatNumber(123456789012.129,null));
              document.write(
          "<br/>");
              document.write(
          "formatNumber(null,null)=" + formatNumber(null,null));
              document.write(
          "<br/>");
              document.write(
          "formatNumber(123456789012.129,'#,##0.00')=" + formatNumber(123456789012.129,'#,##0.00'));
              document.write(
          "<br/>");
              document.write(
          "formatNumber(123456789012.129,'#,##0.##')=" + formatNumber(123456789012.129,'#,##0.##'));
              document.write(
          "<br/>");
              document.write(
          "formatNumber(123456789012.129,'#0.00')=" + formatNumber(123456789012.129,'#,##0.00'));
              document.write(
          "<br/>");
              document.write(
          "formatNumber(123456789012.129,'#0.##')=" + formatNumber(123456789012.129,'#,##0.##'));
              document.write(
          "<br/>");
              document.write(
          "formatNumber(12.129,'0.00')=" + formatNumber(12.129,'0.00'));
              document.write(
          "<br/>");
              document.write(
          "formatNumber(12.129,'0.##')=" + formatNumber(12.129,'0.##'));
              document.write(
          "<br/>");
              document.write(
          "formatNumber(12,'00000')=" + formatNumber(12,'00000'));document.write("<br/>");
              document.write(
          "formatNumber(12,'#.##')=" + formatNumber(12,'#.##'));
              document.write(
          "<br/>");
              document.write(
          "formatNumber(12,'#.00')=" + formatNumber(12,'#.00'));
              document.write(
          "<br/>");
              document.write(
          "formatNumber(1080.0,'#.##')=" + formatNumber(1100.0,'#,###.##'));
              document.write(
          "<br/>");
          </script>

          posted @ 2013-01-11 10:30 leisure 閱讀(285) | 評論 (0)編輯 收藏

          去掉eclipse的validate

          困擾了好幾天,與大家共享

          1,在project名稱上右鍵選擇properties,打開屬性窗口,選擇左邊的validation

          2,勾選enable project specific setting;

          3,點擊Disable all,點擊OK關閉窗口

          4,在project名稱上右鍵validate

          備注:suspend all validators勾選沒有效果,另外第4步很重要

          posted @ 2013-01-11 10:20 leisure 閱讀(7088) | 評論 (0)編輯 收藏

          spring method interceptor

          spring method interceptor

          -author: leisure.xu

          首先dao里面有find和save方法,本實例以攔截find方法為主,并改變find的返回值。

          package com.leisure;

          public class Dao {

               public String find() {

                    System. out.println( "dao: find()");

                    return "student";

               }

               public void save() {

                    System. out.println( "dao: save()");

               }

          }

          一、新增一個DaoInterceptor,如下

          package com.leisure;

          import org.aopalliance.intercept.MethodInterceptor;

          import org.aopalliance.intercept.MethodInvocation;

          /**

           * class description goes here

           * @author leisure.xu

           * @version 1.0.0, 2012 -6 -29

           */

          public class DaoInterceptor implements MethodInterceptor {

               @Override

               public Object invoke(MethodInvocation invocation) throws Throwable {

                    String methodName = invocation.getMethod().getName();

                    if( "find".equals(methodName)) {

                         System. out.println( "invocation modify the return result to 'teacher'");

                         return "teacher";

                    }

                    return invocation.proceed();

               } 

          }

               DaoInterceptor實現了MethodInterceptor的invoke方法,在這里,MethodInvocation參數可以獲取到getArguments等數據,至于能做什么,你懂的。

          二、Dao跟DaoInterceptor還是沒扯上關系,這時需要修改applicationContext.xml

               原來:

               <bean id = "dao" class= "com.leisure.Dao"/>

          修改為:

                    <!--

                <bean id=" dao" class="com.leiusre.Dao"/>

               -->

               <bean id ="daoInterceptor" class="com.leisure.DaoInterceptor"/>

               <bean id ="dao" class= "org.springframework.aop.framework.ProxyFactoryBean" >

                    <property name ="target">

                         <bean class ="com.leisure.Dao" />

                    </property >

                    <property name ="interceptorNames">

                         <list >

                              <value >daoInterceptor </value >

                         </list >

                    </property >

               </bean >

          三、運行看效果!

               ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml" );

               Dao dao = context.getBean(Dao. class);

               System. out.println(dao.find());

               dao.save();

          結果:

          invocation modify the return result to 'teacher'

          teacher

          dao: save()

          從結果可以看出invocation攔截了find方法,并且修改了其返回結果,而對象的find方法并沒有執行到。

          該實例引用到的jar包:




          posted @ 2012-07-11 09:14 leisure 閱讀(997) | 評論 (0)編輯 收藏

          spring2.0的jndi配置

          <!--
           <jee:jndi-lookup id="application" jndi-name="java:comp/env/app-name"/>
              -->
          改成
          <bean id="application" class="org.springframework.jndi.JndiObjectFactoryBean">
          <property name="jndiName" value="java:comp/env/app-name" />
          </bean>

          posted @ 2012-06-27 16:30 leisure 閱讀(309) | 評論 (0)編輯 收藏

          Caused by: java.lang.IllegalArgumentException: null source 解決

          1 Caused by: java.lang.IllegalArgumentException: null source
          2     at java.util.EventObject.<init>(EventObject.java:38)
          3     at javax.sql.StatementEvent.<init>(StatementEvent.java:39)
          4     at com.mysql.jdbc.jdbc2.optional.JDBC4PreparedStatementWrapper.close(JDBC4PreparedStatementWrapper.java:70)
          5     at com.caucho.sql.UserStatement.close(UserStatement.java:163)
          6     at com.caucho.sql.UserPreparedStatement.close(UserPreparedStatement.java:727)

          開始使用的是:mysql-connector-java-5.1.6-bin
          更換新的mysql驅動包就沒問題了(mysql-connector-java-5.1.11-bin)

          posted @ 2012-06-15 12:10 leisure 閱讀(3379) | 評論 (0)編輯 收藏

          redis五天親密旅程

          FIRST DAY
          redis介紹、安裝使用(win、linux)
          redis數據類型
          redis-twitter實例分析
          驅動選材-Jedis
          初探spring data - redis

          SECOND DAY
          項目架構搭建 spring + spring data redis + jedis
          redisTemplate、jedis常用的API熟悉
          spring data - redis源碼解剖

          THIRD DAY
          redis數據庫設計理念及應用場景分析
          深入探究數據類型

          FOURTH Day
           項目實戰

          FIFTH DAY
          內存優化,設計優化
           分布式集群方案

          posted @ 2012-04-12 10:10 leisure 閱讀(530) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 江北区| 柳州市| 越西县| 胶州市| 阿拉尔市| 抚顺市| 瑞昌市| 日土县| 盘锦市| 洪湖市| 宁津县| 上犹县| 鄱阳县| 玉田县| 广水市| 灯塔市| 玉溪市| 东至县| 白河县| 徐州市| 措勤县| 阿尔山市| 富平县| 昌黎县| 莆田市| 洛扎县| 高碑店市| 宁阳县| 四川省| 正安县| 乐山市| 弥勒县| 达州市| 红原县| 苍梧县| 渑池县| 农安县| 涞源县| 台江县| 安溪县| 二手房|