我有一個過濾器處理生成的HTML並重寫某些元素。例如,它將類屬性添加到某些錨點。最後,它將處理後的HTML寫入響應(HttpServletResponseWrapper的一個子類)。當然,這意味着處理後的HTML在通過過濾器後的長度不同。過濾期間或過濾後,過濾器是否應寫入響應?
我可以看到接近這個的兩種方法。
一個是迭代HTML,使用StringBuilder構建處理過的HTML,並在完成所有過濾後將處理後的HTML寫入響應。 另一種是迭代HTML,但每處理一個元素後立即寫入響應。
哪種方式更適合此操作,還是有另一種更可取的方法?我正在尋求最大限度地減少臨時內存使用量。
你確定這是你想做服務器端的東西嗎?解析html可能會變得很難看。 – 2010-04-21 15:50:09
是的 - 也許我給的例子很糟糕。它也重寫資源的URL,所以我不能在客戶端上這樣做。是的,過濾器非常難看。 – 2010-04-21 16:05:05