1.characters
方法內容如下:
該方法的各參數表示了標籤體的內容字符串,此方法主要是將標籤體內容賦予bodyText變量,該變量將在endElement()方法裏使用到
2.endElement
方法內容如下:
<1>bodyText = updateBodyText(bodyText);
將bodyText中的變量值替換,如標籤體中有${systemProperty}
<2>獲取與標籤路徑名匹配的Rule,觸發其body及end方法
這部分內容爲何是直接從matches.pop出來的,而不是用name去匹配呢?因爲之前在startElement()方法裏匹配過一次,並且將匹配所得的Rule List放入到matches裏了
3.endDocument
另一個需要講一下的是這個方法,在XML結束時調用,方法內容如下:
方法內容爲:彈出所有還在棧中的對象,執行所有Rule的finish方法,執行clear方法清空相關堆棧,如下:
瞭解了Digester類的幾個處理方法後我們瞭解到,除一些更換變量的處理外,主要的工作都是交由Rule類來處理,我們下面幾篇文章將瞭解一下Rule類的用意的在這裏tomcat是進行了什麼具體的操作