11 2008 檔案
正則表達式學習筆記(3) 簡單量詞
摘要: 量詞用于指定特定模式出現的次數,這個次數可以是硬性的,如某個字符應該出現4次,如果沒有出現四次就是錯的,也可以是軟性的,如某個字符應該出現0至4次,意思是該字符可以出現,也可以不出現,可以出現一次,兩次,也可以出現三次,四次。
閱讀全文
posted @
2008-11-29 14:13 零全零美 閱讀(1742) |
評論 (3) 編輯
JavaScript學習筆記(7) IE環境下cloneNode的一個bug
摘要: cloneNode是進行DOM操作經常使用的方法,有了它我們可以很容易的克隆一個跟原來一模一樣的DOM對象,如:在動態增加table的行的時候,我們只需克隆一個table中現有的行,然后調用talbe.appendChild()方法就可以實現,而無需調用table繁瑣的DOM操作方法。但是在開發中,我發現cloneNode在對select進行克隆時卻無法克隆出當前選中的option,克隆出來的對象的options中擁有selected屬性的永遠都是第一個。
閱讀全文
posted @
2008-11-24 13:08 零全零美 閱讀(1938) |
評論 (1) 編輯
正則表達式學習筆記(2) 多選結構--匹配任意子表達式
摘要: "|":意思是"或",他可以把多個子表達式組合成一個總的表達式,而這個總表達式擁有子表達式的全部能力
閱讀全文
posted @
2008-11-21 13:44 零全零美 閱讀(3656) |
評論 (2) 編輯
正則表達式學習筆記(1) 行的開始和結束、字符組、連字符、脫字符、用"."去匹配任意字符
摘要: 行的開始和結束 開始符號:^ 結束符號:$ 如:^cat 應該理解為以c作為一行的第一個字符,緊接著是a,然后是t
例如:String str = "catabdcatdetfcat"
^cat : 驗證該行以c開頭緊接著是a,然后是t
cat$ : 驗證該行以t結尾倒數第二個字符為a倒數第三個字符為c
^cat$: 以c開頭接著是a->t然后是行結束:只有cat三個字母的數據行
^$ : 開頭之后馬上結束:空白行,不包括任何字符
^ : 行的開頭,可以匹配任何行,因為每個行都有行開頭
閱讀全文
posted @
2008-11-19 19:36 零全零美 閱讀(17750) |
評論 (7) 編輯
[原創]JBPM源碼解讀之:Join
摘要: 前面我有一篇《JBPM源碼解讀之:Fork》,大致分析了JBPM對于Fork的實現方式,其實Fork和Join是不可分割的一對,Fork實現分拆,Join實現匯集。先讓我們看一下《JBPM 3.2.3 User Guide》中關于Join的描述:
The default join assumes that all tokens that arrive in the join are children of the same parent. This situation is created when using the fork as mentioned above and when all tokens created by a fork arrive in the same join. A join will end every token that enters the join. Then the join will examine the parent-child relation of the token that enters the join. When
閱讀全文
posted @
2008-11-14 23:55 零全零美 閱讀(1913) |
評論 (2) 編輯
[原創]JBPM實踐之:并發子流程的實現
摘要: 關于JBPM中并發子流程的實現方式,網上有很多的說法,但是好像每種辦法都有這樣那樣的缺點,要么實現太復雜,要么就是會使Token無法繼續流轉。這里我介紹一種我的并發子流程的實現方式:使用TaskNode使任務并行的方式,模擬實現JBPM子流程的并發執行。
我先簡單的介紹一下實現思路:
1、數據庫中應該有至少三個已經發布過的流程定義(ProcessDefinition),發布的順序無所謂,一個主流程兩個子流程
2、我們在主流程中要實現并發子流程的環節放置TaskNode,設置create-tasks="false"、signal="last-wait"
3、我們想要實現幾個子流程的并發就在第二步放置的TaskNode中放置幾個Task,每個Task的名字都是要并發的子流程的名稱
4、在TaskNode的Node-Enter action中,我們手動為每一個Task創建一個任務實例,同時我們取得Task的名字也就是要并發的子流程的名字,創建流程實例
閱讀全文
posted @
2008-11-12 15:00 零全零美 閱讀(3318) |
評論 (6) 編輯
JBPM實踐之:使用Fork中的Script實現多路路由選擇
摘要: 在閱讀本文之前,建議先閱讀一下《JBPM源碼解讀之:Fork》以了解Fork中Script的配置方法及處理方式:
按照Fork對Script的規范Script必須包含一個具有write權限的變量,而且該變量必須實現java.util.Collection接口。
閱讀全文
posted @
2008-11-05 17:05 零全零美 閱讀(1919) |
評論 (4) 編輯
[原創]JBPM源碼解讀之:Fork
摘要: Fork節點在整個JBPM流程運轉過程中配合Join使用提供使多于一個的節點如:TaskNode、State等并行運行的作用,很可惜我們不能利用Fork提供的現有機制實現需求中經常遇到的并發子流程的效果,當然雖然JBPM并不支持并發子流程的機制,并不代表我們不能變通的實現,我將在另一篇文章中詳細說明我的并發子流程的實現方式。
Fork類的注釋中說:if this fork behaviour is not sufficient for your needs, consider writing your own custom TokenHandler.看來連JBPM開發小組也意識到Fork可能不能滿足某些特殊的需求。注釋中還說Fork節點有三種配置方式,我很奇怪為什么代碼中只能找到兩種:
閱讀全文
posted @
2008-11-05 16:41 零全零美 閱讀(2106) |
評論 (0) 編輯
JavaScript學習筆記(6) 通過延遲觸發使onDbClick時不觸發onClick事件
摘要: 在默認的情況下,雙擊事件時是要觸發單擊事件的,但是這種情況有時候卻是我們不想要的,那么如何才能在雙擊的時候屏蔽單擊事件的觸發呢?網上流傳一種延遲執行的方法,大致思路如下:
1、聲明一個全局的計時器變量如:clickTimer
2、在代理單擊事件里設置計時器,默認220毫秒之后觸發真正的單擊事件處理函數
3、在雙擊事件里判斷計時器變量,如果該變量不為NULL,則說明在觸發該雙擊事件前觸發了單擊事件,取消計時器,因為真正的單擊事件處理函數在220毫秒之后才會觸發,所以在這個時候結束定時器,則真正單擊事件處理函數不會被執行。
閱讀全文
posted @
2008-11-04 20:14 零全零美 閱讀(1256) |
評論 (0) 編輯