摘要: Spring的AOP支持可以被用于從系統核心邏輯中分離交叉業務(cross-business)如日志,事務管理和安全等,使用AOP,你可以用各種功能層來覆蓋核心業務層,這些功能層可以靈活的應用到你的系統中,甚至核心業務層都不知道它們的存在,這是一個強大的概念。
AOP(aspect-oriented programming)的核心就是動態代理,掌握它對于理解AOP尤為重要,猶如反射對理解IoC一樣。
閱讀全文
摘要: 本文將試圖討論一些決定一個程序員一生的核心的東西,這是個人對程序員生涯的一孔之見,只代表作者的個人想法,其中疏漏甚至錯誤之處在所難免,希望大家多提寶貴意見。
前言
豐厚的薪水,高端的職位和有成就感的事業是人人都想要的,而這些都取決于你每天的認真工作,努力學習和靈活做人上。日子就像一塊塊磚,你就像是一個泥瓦匠每天在堆砌著你的人生,最終砌出一個宏偉的大廈或是一幢低矮的小屋甚至是堆成一堆瓦礫全取決于你自己。
閱讀全文
摘要: 在上文的表單驗證解決方案中,有這樣幾個問題:
1。頁面中存在自定義標簽,這通不過W3C驗證。
2。自定義標簽不能寫在Struts標簽中,造成此解決方案在Struts工程中不適用。
3。驗證的方式和頁面內容混合在一起,沒有分開。
4。原反饋信息span的id必須符合一定規范,這是額外的負擔。
為了解決這些問題,我采取了如下步驟:
1。建立一種數據結構,讓它容納文本框id,反饋span的id,驗證正則表達式,是否必須輸入等四個信息。這樣頁面就不會混雜自定義標簽,w3c驗證和struts標簽不支持的問題就解決了。
2。建立一個包含多個這種數據結構的數組,其中元素與要驗證的文本域一一對應。此數組在需要驗證時建立。這里雖然要多些一些JS代碼,但驗證信息更集中更容易修改了。
3。需要驗證時取得數組元素,挨個驗證即可,需要的信息都可以從數組元素中取得。整個過程可以庫化通用化,頁面不需要寫驗證。
如此做完后,我認為原先的問題基本得到解決了。下面請看具體代碼
閱讀全文