posts - 122,  comments - 25,  trackbacks - 0
               摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/*-------------------------------------------------------------------------------說明:JavaScript腳本,驗(yàn)證表單中...  閱讀全文
          posted @ 2007-05-22 09:49 josson 閱讀(374) | 評論 (0)編輯 收藏
          /**
           * 用途:檢查輸入字符串是否只由英文字母和數(shù)字和下劃線組成
           * 輸入:s, 字符串
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function isNumberOr_Letter( s ){
              
          var regu = "^[0-9a-zA-Z\_]+$";
              
          var re = new RegExp(regu);
              
          if (re.test(s))  return true;
              
          else    return false;
          }

          /**
           * 用途:檢查輸入字符串是否只由英文字母和數(shù)字組成
           * 輸入:s, 字符串
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function isNumberOrLetter( s ){//判斷是否是數(shù)字或字母
              var regu = "^[0-9a-zA-Z]+$";
              
          var re = new RegExp(regu);
              
          if (re.test(s))  return true;
              
          else return false;
          }

          /**
           * 用途:檢查輸入字符串是否只由漢字、字母、數(shù)字組成
           * 輸入:value, 字符串
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function isChinaOrNumbOrLett( s ){
              
          var regu = "^[0-9a-zA-Z\u4e00-\u9fa5]+$"
              
          var re = new RegExp(regu);
              
          if (re.test(s))   return true;
              
          else return false;

          }

          /**
           * 用途:判斷是否是日期
           * 輸入:date:日期;fmt:日期格式
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function isDate( date, fmt ) {
              
          if (fmt==null) fmt="yyyyMMdd";
              
          var yIndex = fmt.indexOf("yyyy");
              
          if(yIndex==-1return false;
              
          var year = date.substring(yIndex,yIndex+4);
              
          var mIndex = fmt.indexOf("MM");
              
          if(mIndex==-1return false;
              
          var month = date.substring(mIndex,mIndex+2);
              
          var dIndex = fmt.indexOf("dd");
              
          if(dIndex==-1return false;
              
          var day = date.substring(dIndex,dIndex+2);
              
          if(!isNumber(year)||year>"2100" || year< "1900"return false;
              
          if(!isNumber(month)||month>"12" || month< "01"return false;
              
          if(day>getMaxDay(year,month) || day< "01"return false;
              
          return true;
          }
           
          /**
           * 用途:獲取每月的最后一天日期值.
           * 輸入:date:年份;month:月份
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function getMaxDay(year,month) {
              
          if(month==4||month==6||month==9||month==11)
                  
          return "30";
              
          if(month==2)
                  
          if(year%4==0&&year%100!=0 || year%400==0)
                      
          return "29";
                  
          else
                      
          return "28";
              
          return "31";
          }

          /**
           * 用途:字符1是否以字符串2結(jié)束
           * 輸入:str1:字符串;str2:被包含的字符串
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function isLastMatch(str1,str2){
              
          var index = str1.lastIndexOf(str2);
              
          if(str1.length==index+str2.length) return true;
              
          return false;
          }

          /**
           * 用途:字符1是否以字符串2開始
           * 輸入:str1:字符串;str2:被包含的字符串
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function isFirstMatch(str1,str2){
              
          var index = str1.indexOf(str2);
              
          if(index==0return true;
              
          return false;
          }

          /**
           * 用途:字符1是包含字符串2
           * 輸入:str1:字符串;str2:被包含的字符串
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function isMatch(str1,str2){
              
          var index = str1.indexOf(str2);
              
          if(index==-1return false;
              
          return true;
          }

          /**
           * 用途:檢查輸入的起止日期是否正確,規(guī)則為兩個日期的格式正確,且結(jié)束如期>=起始日期
           * 輸入:startDate:起始日期(字符串),   endDate:結(jié)束如期(字符串)
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function checkTwoDate( startDate,endDate ) {
              
          if!isDate(startDate) ) {
                  alert(
          "起始日期不正確!");
                  
          return false;
              } 
          else if!isDate(endDate) ) {
                  alert(
          "終止日期不正確!");
                  
          return false;
              } 
          else if( startDate > endDate ) {
                  alert(
          "起始日期不能大于終止日期!");
                  
          return false;
              }
              
          return true;
          }

          posted @ 2007-05-22 09:31 josson 閱讀(313) | 評論 (0)編輯 收藏
          JavaScript腳本,用于檢查網(wǎng)頁提交表單的輸入數(shù)據(jù)。

          /**
           * 用途:校驗(yàn)ip地址的格式
           * 輸入:strIP:ip地址
           * 返回:如果通過驗(yàn)證返回true,否則返回false;
           
          */
          function isIP(strIP) {
              
          if (isNull(strIP)) return false;
              
          var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$///匹配IP地址的正則表達(dá)式
              if(re.test(strIP)){
                  
          if( RegExp.$1 <256 && RegExp.$2<256 && RegExp.$3<256 && RegExp.$4<256return true;
              }
              
          return false;
          }

          /**
           * 用途:檢查輸入字符串是否為空或者全部都是空格
           * 輸入:str
           * 返回:
           * 如果全是空返回true,否則返回false
           
          */
          function isNull( str ){
              
          if ( str == "" ) return true;
              
          var regu = "^[ ]+$";
              
          var re = new RegExp(regu);
              
          return re.test(str);
          }

          /**
           * 用途:檢查輸入對象的值是否符合整數(shù)格式
           * 輸入:str 輸入的字符串
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function isInteger( str ){ 
              
          var regu = /^[-]{0,1}[0-9]{1,}$/;
              
          return regu.test(str);
          }

          /**
           * 用途:檢查輸入手機(jī)號碼是否正確
           * 輸入:s, 字符串
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function checkMobile( s ){  
              
          var regu =/^[1][3][0-9]{9}$/;
              
          var re = new RegExp(regu);
              
          if (re.test(s))    return true;
              
          else    return false;
          }

          /**
           * 用途:檢查輸入字符串是否符合正整數(shù)格式
           * 輸入:s, 字符串
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function isNumber( s ){  
              
          var regu = "^[0-9]+$";
              
          var re = new RegExp(regu);
              
          if (s.search(re) != -1)  return true;
              
          else     return false;
              }
          }

          /**
           * 用途:檢查輸入字符串是否是帶小數(shù)的數(shù)字格式,可以是負(fù)數(shù)
           * 輸入:s, 字符串
           * 返回:如果通過驗(yàn)證返回true,否則返回false
          */
          function isDecimal( str ){  
              
          if(isInteger(str)) return true;
              
          var re = /^[-]{0,1}(\d+)[\.]+(\d+)$/;
              
          if (re.test(str)) {
                  
          if(RegExp.$1==0&&RegExp.$2==0return false;
                  
          return true;
              } 
          else {
              
          return false;
              }
          }

           
          /**
           * 用途:檢查輸入對象的值是否符合端口號格式
           * 輸入:str 輸入的字符串
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function isPort( str ){ 
              
          return (isNumber(str) && str<65536);
          }

           
          /**
           * 用途:檢查輸入對象的值是否符合E-Mail格式
           * 輸入:str 輸入的字符串
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function isEmail( str ){ 
              
          var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
              
          if(myReg.test(str)) return true;
              
          return false;
          }

           
          /**
           * 用途:檢查輸入字符串是否符合金額格式
           * 格式定義為帶小數(shù)的正數(shù),小數(shù)點(diǎn)后最多三位
           * 輸入:s, 字符串
           * 返回:如果通過驗(yàn)證返回true,否則返回false
           
          */
          function isMoney( s ){  
              
          var regu = "^[0-9]+[\.][0-9]{0,3}$";
              
          var re = new RegExp(regu);
              
          if (re.test(s)) return true;
              
          else return false;
          }

          posted @ 2007-05-17 13:00 josson 閱讀(320) | 評論 (0)編輯 收藏
          1.0的標(biāo)準(zhǔn)事務(wù)配置示例:
           <bean id="baseTxService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"  
                     abstract
          ="true">  
                   
          <property name="transactionManager" ref="transactionManager"/>  
                   
          <property name="proxyTargetClass" value="true"/>  
                   
          <property name="transactionAttributes">  
                       
          <props>  
                           
          <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>  
                           
          <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>  
                           
          <prop key="save*">PROPAGATION_REQUIRED</prop>  
                           
          <prop key="remove*">PROPAGATION_REQUIRED</prop>  
                       
          </props>  
                   
          </property>  
                   
          <property name="preInterceptors">  
                       
          <list>  
                           
          <ref bean="methodSecurityInterceptor"/>  
                       
          </list>  
                   
          </property>  
            
          </bean>  
            
          <bean id="userManager" parent="baseTxService">  
                   
          <property name="target">  
                       
          <bean class="com.scommnet.acl.service.UserManager"/>  
                   
          </property>  
            
          </bean>

          2.0的事務(wù)配置示例:
           <aop:config proxy-target-class="true">  
               
          <aop:advisor pointcut="execution(* com.scommnet.acl.*Manager.*(..))" advice-ref="txAdvice"/>  
               
          <aop:advisor pointcut="execution(* com.scommnet.sms.*Manager.save(..))" advice-ref="fooAdvice"/>  
           
          </aop:config><tx:advice id="txAdvice" transaction-manager="transactionManager">  
               
          <tx:attributes>  
                   
          <tx:method name="get*" read-only="true"/>  
                   
          <tx:method name="find*" read-only="true"/>  
                   
          <tx:method name="*" rollback-for="BusinessException"/>  
              
          </tx:attributes>  
           
          </tx:advice>  
             
           
          <bean id="userManager" class="com.scommnet.acl.service.UserManager"/>

          pointcut語法說明,Spring參考文檔6.2.3.4里有完整說明。
          execution(modifiers-pattern? ret-type-pattern declaring-type-pattern? name-pattern(param-pattern) throws-pattern?)

          其中帶問號的modifiers-pattern?(public/protected) 和 declaring-type-pattern? throws-pattern? 可以不填

          可見execution(* *..UserManager.save(..))

          第一顆* 代表ret-type-pattern 返回值可任意,*..UserManager 代表任意Pacakge里的BookManager類。
          如果寫成com.xyz.service.* 則代表com.xyz.service下的任意類,com.xyz.service..* com.xyz.service則代表com.xyz.service及其子package下的任意類,save代表save方法,也可以寫save* 代表saveBook()等方法 。

          (..) 匹配0個參數(shù)或者多個參數(shù)的,任意類型
          (x,..) 第一個參數(shù)的類型必須是X
          (x,,,s,..) 匹配至少4個參數(shù),第一個參數(shù)必須是x類型,第二個和第三個參數(shù)可以任意,第四個必須是s類型。

          注意name-pattern千萬不要寫成*..*Manager ,這樣子的話會把所有第三方類庫的Manager比如Spring的PlatformTranstationManager 也加入aop,非常危險。所以最好還是加上項(xiàng)目的package前綴,如com.sample
          posted @ 2007-05-17 08:54 josson 閱讀(351) | 評論 (0)編輯 收藏
          http://docs.huihoo.com/framework/hibernate/reference-v3_zh-cn/querycriteria.html

          第 16 章  條件查詢(Criteria Queries)

          具有一個直觀的、可擴(kuò)展的條件查詢API是Hibernate的特色。

          16.1. 創(chuàng)建一個Criteria 實(shí)例

          org.hibernate.Criteria接口表示特定持久類的一個查詢。Session是 Criteria實(shí)例的工廠。

          Criteria crit = sess.createCriteria(Cat.class);
          crit.setMaxResults(
          50);
          List cats 
          = crit.list();


          16.2. 限制結(jié)果集內(nèi)容

          一個單獨(dú)的查詢條件是org.hibernate.criterion.Criterion 接口的一個實(shí)例。org.hibernate.criterion.Restrictions類 定義了獲得某些內(nèi)置Criterion類型的工廠方法。

          List cats = sess.createCriteria(Cat.class)
              .add( Restrictions.like(
          "name""Fritz%") )
              .add( Restrictions.between(
          "weight", minWeight, maxWeight) )
              .list();


          約束可以按邏輯分組。

          List cats = sess.createCriteria(Cat.class)
              .add( Restrictions.like(
          "name""Fritz%") )
              .add( Restrictions.or(
                  Restrictions.eq( 
          "age"new Integer(0) ),
                  Restrictions.isNull(
          "age")
              ) )
              .list();


          List cats = sess.createCriteria(Cat.class)
              .add( Restrictions.in( 
          "name"new String[] { "Fritz""Izi""Pk" } ) )
              .add( Restrictions.disjunction()
                  .add( Restrictions.isNull(
          "age") )
                  .add( Restrictions.eq(
          "age"new Integer(0) ) )
                  .add( Restrictions.eq(
          "age"new Integer(1) ) )
                  .add( Restrictions.eq(
          "age"new Integer(2) ) )
              ) )
              .list();


          Hibernate提供了相當(dāng)多的內(nèi)置criterion類型(Restrictions 子類), 但是尤其有用的是可以允許你直接使用SQL。

          List cats = sess.createCriteria(Cat.class)
              .add( Restrictions.sql(
          "lower({alias}.name) like lower(?)""Fritz%", Hibernate.STRING) )
              .list();


          {alias}占位符應(yīng)當(dāng)被替換為被查詢實(shí)體的列別名。

          Property實(shí)例是獲得一個條件的另外一種途徑。你可以通過調(diào)用Property.forName() 創(chuàng)建一個Property。

          Property age = Property.forName("age");
          List cats 
          = sess.createCriteria(Cat.class)
              .add( Restrictions.disjunction()
                  .add( age.isNull() )
                  .add( age.eq( 
          new Integer(0) ) )
                  .add( age.eq( 
          new Integer(1) ) )
                  .add( age.eq( 
          new Integer(2) ) )
              ) )
              .add( Property.forName(
          "name").in( new String[] { "Fritz""Izi""Pk" } ) )
              .list();


          16.3. 結(jié)果集排序

          你可以使用org.hibernate.criterion.Order來為查詢結(jié)果排序。

          List cats = sess.createCriteria(Cat.class)
              .add( Restrictions.like(
          "name""F%")
              .addOrder( Order.asc(
          "name") )
              .addOrder( Order.desc(
          "age") )
              .setMaxResults(
          50)
              .list();

          List cats = sess.createCriteria(Cat.class)
              .add( Property.forName(
          "name").like("F%") )
              .addOrder( Property.forName(
          "name").asc() )
              .addOrder( Property.forName(
          "age").desc() )
              .setMaxResults(
          50)
              .list();


          16.4. 關(guān)聯(lián)

          你可以使用createCriteria()非常容易的在互相關(guān)聯(lián)的實(shí)體間建立 約束。

          List cats = sess.createCriteria(Cat.class)
              .add( Restrictions.like(
          "name""F%")
              .createCriteria(
          "kittens")
                  .add( Restrictions.like(
          "name""F%")
              .list();


          注意第二個 createCriteria()返回一個新的 Criteria實(shí)例,該實(shí)例引用kittens 集合中的元素。

          接下來,替換形態(tài)在某些情況下也是很有用的。

          List cats = sess.createCriteria(Cat.class)
              .createAlias(
          "kittens""kt")
              .createAlias(
          "mate""mt")
              .add( Restrictions.eqProperty(
          "kt.name""mt.name") )
              .list();


          (createAlias()并不創(chuàng)建一個新的 Criteria實(shí)例。)

          Cat實(shí)例所保存的之前兩次查詢所返回的kittens集合是 沒有被條件預(yù)過濾的。如果你希望只獲得符合條件的kittens, 你必須使用returnMaps()。

          List cats = sess.createCriteria(Cat.class)
              .createCriteria(
          "kittens""kt")
                  .add( Restrictions.eq(
          "name""F%") )
              .returnMaps()
              .list();
          Iterator iter 
          = cats.iterator();
          while ( iter.hasNext() ) {
              Map map 
          = (Map) iter.next();
              Cat cat 
          = (Cat) map.get(Criteria.ROOT_ALIAS);
              Cat kitten 
          = (Cat) map.get("kt");
          }


          16.5. 動態(tài)關(guān)聯(lián)抓取

          你可以使用setFetchMode()在運(yùn)行時定義動態(tài)關(guān)聯(lián)抓取的語義。

          List cats = sess.createCriteria(Cat.class)
              .add( Restrictions.like(
          "name""Fritz%") )
              .setFetchMode(
          "mate", FetchMode.EAGER)
              .setFetchMode(
          "kittens", FetchMode.EAGER)
              .list();


          這個查詢可以通過外連接抓取mate和kittens。 查看第 20.1 節(jié) “ 抓取策略(Fetching strategies) ”可以獲得更多信息。
          16.6. 查詢示例

          org.hibernate.criterion.Example類允許你通過一個給定實(shí)例 構(gòu)建一個條件查詢。

          Cat cat = new Cat();
          cat.setSex(
          'F');
          cat.setColor(Color.BLACK);
          List results 
          = session.createCriteria(Cat.class)
              .add( Example.create(cat) )
              .list();


          版本屬性、標(biāo)識符和關(guān)聯(lián)被忽略。默認(rèn)情況下值為null的屬性將被排除。

          你可以自行調(diào)整Example使之更實(shí)用。

          Example example = Example.create(cat)
              .excludeZeroes()           
          //exclude zero valued properties
              .excludeProperty("color")  //exclude the property named "color"
              .ignoreCase()              //perform case insensitive string comparisons
              .enableLike();             //use like for string comparisons
          List results = session.createCriteria(Cat.class)
              .add(example)
              .list();


          你甚至可以使用examples在關(guān)聯(lián)對象上放置條件。

          List results = session.createCriteria(Cat.class)
              .add( Example.create(cat) )
              .createCriteria(
          "mate")
                  .add( Example.create( cat.getMate() ) )
              .list();


          16.7. 投影(Projections)、聚合(aggregation)和分組(grouping)

          org.hibernate.criterion.Projections是 Projection 的實(shí)例工廠。我們通過調(diào)用 setProjection()應(yīng)用投影到一個查詢。

          List results = session.createCriteria(Cat.class)
              .setProjection( Projections.rowCount() )
              .add( Restrictions.eq(
          "color", Color.BLACK) )
              .list();

          List results 
          = session.createCriteria(Cat.class)
              .setProjection( Projections.projectionList()
                  .add( Projections.rowCount() )
                  .add( Projections.avg(
          "weight") )
                  .add( Projections.max(
          "weight") )
                  .add( Projections.groupProperty(
          "color") )
              )
              .list();


          在一個條件查詢中沒有必要顯式的使用 "group by" 。某些投影類型就是被定義為 分組投影,他們也出現(xiàn)在SQL的group by子句中。

          你可以選擇把一個別名指派給一個投影,這樣可以使投影值被約束或排序所引用。下面是兩種不同的實(shí)現(xiàn)方式:

          List results = session.createCriteria(Cat.class)
              .setProjection( Projections.alias( Projections.groupProperty(
          "color"), "colr" ) )
              .addOrder( Order.asc(
          "colr") )
              .list();

          List results 
          = session.createCriteria(Cat.class)
              .setProjection( Projections.groupProperty(
          "color").as("colr") )
              .addOrder( Order.asc(
          "colr") )
              .list();


          alias()和as()方法簡便的將一個投影實(shí)例包裝到另外一個 別名的Projection實(shí)例中。簡而言之,當(dāng)你添加一個投影到一個投影列表中時 你可以為它指定一個別名:

          List results = session.createCriteria(Cat.class)
              .setProjection( Projections.projectionList()
                  .add( Projections.rowCount(), 
          "catCountByColor" )
                  .add( Projections.avg(
          "weight"), "avgWeight" )
                  .add( Projections.max(
          "weight"), "maxWeight" )
                  .add( Projections.groupProperty(
          "color"), "color" )
              )
              .addOrder( Order.desc(
          "catCountByColor") )
              .addOrder( Order.desc(
          "avgWeight") )
              .list();

          List results 
          = session.createCriteria(Domestic.class"cat")
              .createAlias(
          "kittens""kit")
              .setProjection( Projections.projectionList()
                  .add( Projections.property(
          "cat.name"), "catName" )
                  .add( Projections.property(
          "kit.name"), "kitName" )
              )
              .addOrder( Order.asc(
          "catName") )
              .addOrder( Order.asc(
          "kitName") )
              .list();


          你也可以使用Property.forName()來表示投影:

          List results = session.createCriteria(Cat.class)
              .setProjection( Property.forName(
          "name") )
              .add( Property.forName(
          "color").eq(Color.BLACK) )
              .list();

          List results 
          = session.createCriteria(Cat.class)
              .setProjection( Projections.projectionList()
                  .add( Projections.rowCount().as(
          "catCountByColor") )
                  .add( Property.forName(
          "weight").avg().as("avgWeight") )
                  .add( Property.forName(
          "weight").max().as("maxWeight") )
                  .add( Property.forName(
          "color").group().as("color" )
              )
              .addOrder( Order.desc(
          "catCountByColor") )
              .addOrder( Order.desc(
          "avgWeight") )
              .list();


          16.8. 離線(detached)查詢和子查詢

          DetachedCriteria類使你在一個session范圍之外創(chuàng)建一個查詢,并且可以使用任意的 Session來執(zhí)行它。

          DetachedCriteria query = DetachedCriteria.forClass(Cat.class)
              .add( Property.forName(
          "sex").eq('F') );
             
          Session session 
          = .;
          Transaction txn 
          = session.beginTransaction();
          List results 
          = query.getExecutableCriteria(session).setMaxResults(100).list();
          txn.commit();
          session.close();


          DetachedCriteria也可以用以表示子查詢。條件實(shí)例包含子查詢可以通過 Subqueries或者Property獲得。

          DetachedCriteria avgWeight = DetachedCriteria.forClass(Cat.class)
              .setProjection( Property.forName(
          "weight").avg() );
          session.createCriteria(Cat.
          class)
              .add( Property.forName(
          "weight).gt(avgWeight) )
              .list();

          DetachedCriteria weights 
          = DetachedCriteria.forClass(Cat.class)
              .setProjection( Property.forName(
          "weight") );
          session.createCriteria(Cat.
          class)
              .add( Subqueries.geAll(
          "weight", weights) )
              .list();


          甚至相互關(guān)聯(lián)的子查詢也是有可能的:

          DetachedCriteria avgWeightForSex = DetachedCriteria.forClass(Cat.class"cat2")
              .setProjection( Property.forName(
          "weight").avg() )
              .add( Property.forName(
          "cat2.sex").eqProperty("cat.sex") );
          session.createCriteria(Cat.
          class"cat")
              .add( Property.forName(
          "weight).gt(avgWeightForSex) )
              .list();

          posted @ 2007-05-15 08:55 josson 閱讀(368) | 評論 (0)編輯 收藏
          Criteria接口的Projections類主要用于幫助Criteria接口完成數(shù)據(jù)的分組查詢和統(tǒng)計(jì)功能:
          List cats=session.createCriteria(Cat.class)
                         .setProjection(Projections.projectionList()
                         .add(Projections.rowCount())
                         .add(Projections.avg(
          "weight"))
                         .add(Projections.max(
          "weight"))
                         .add(Projections.min(
          "weight"))
                         .add(Projections.groupProperty(
          "color"))
                     ).addOrder(Order.asc(
          "color")).list();

          示例
          代碼相當(dāng)于:
          select color,count(*),avg(weight),max(weight),min(weight),min(weight) from cat group by color order by color asc;

          posted @ 2007-05-15 08:50 josson 閱讀(2946) | 評論 (0)編輯 收藏
          DTree控件開發(fā)時,若在node中指定了target項(xiàng),如

          d.add('id','pid','node-name','javascript:abc();','','_target');

          若指定了"_target"項(xiàng)時,就無法調(diào)用abc方法,去掉就正常了。

          posted @ 2007-05-12 15:51 josson 閱讀(874) | 評論 (0)編輯 收藏
          如果源文件編碼使用了utf-8編碼,那么生成的文檔可會有亂碼,解決辦法如下:

          Generate javadoc時, 在第三個對話框的"Extra Javadoc options" 文本框里面加上 "-encoding UTF-8"
          posted @ 2007-04-28 10:39 josson 閱讀(1786) | 評論 (2)編輯 收藏
          新裝的系統(tǒng),又中Backdoor.Hupigeon了,現(xiàn)在病毒真的太猖狂了,無孔不入!!

          無良人類總是不斷的制造出新病毒和流氓軟件,從中獲取利益,強(qiáng)烈的鄙視這群人!!

          可憐我的Norton能殺,但不能清理干凈,郁悶至極!找了個金山毒霸的專殺工具,在windows下殺出了一個kson.exe!!


          希望問題已經(jīng)解決,哈哈。。


          posted @ 2007-04-28 09:18 josson 閱讀(614) | 評論 (0)編輯 收藏
          在Servlet或者filter或者Listener中使用spring的IOC容器的方法是:
          WebApplicationContext webApplicationContext =
              WebApplicationContextUtils.getWebApplicationContext(request.getSession().getServletContext()); 

          由于spring是注入的對象放在ServletContext中的,所以可以直接在ServletContext取出WebApplicationContext 對象:
          WebApplicationContext webApplicationContext =
              (WebApplicationContext) servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);

          事實(shí)上WebApplicationContextUtils.getWebApplicationContext方法就是使用上面的代碼實(shí)現(xiàn)的,建議使用上面上面的靜態(tài)方法
          posted @ 2007-04-25 17:08 josson 閱讀(521) | 評論 (0)編輯 收藏
          僅列出標(biāo)題
          共11頁: First 上一頁 3 4 5 6 7 8 9 10 11 下一頁 
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 饶阳县| 赣州市| 鄄城县| 济南市| 嘉兴市| 弥渡县| 阜平县| 四川省| 光泽县| 铁力市| 夏津县| 奇台县| 平阳县| 和龙市| 宁明县| 友谊县| 枞阳县| 萝北县| 凤山市| 息烽县| 乌兰县| 延川县| 沁源县| 吐鲁番市| 家居| 青龙| 梧州市| 内乡县| 沽源县| 镇康县| 泗阳县| 巴彦县| 济源市| 嘉荫县| 即墨市| 平度市| 邛崃市| 定西市| 南安市| 东至县| 嵊州市|