2013-05-31 26 views
1

我正在開發使用MVC模式的應用程序。使用DTO和哈希映射驗證Java服務器端表單

控制器:servlet的

型號:我下面DAO/DTO pattern訪問數據庫

查看:簡單的JSP EL和JSTL

爲了訪問我使用DAO pattern數據庫。我想爲DTO類中的錯誤消息提供驗證方法和HashMap來驗證FORM數據,類似於Putting validation method and hashmap into DTO

我的問題是 - 這是一個正確的方法?如果不是什麼是這樣做的理想方式?

總結:當我們使用DAO/DTO模式時,我想知道服務器端表單驗證的真實世界解決方案。請幫幫我。

+0

我會請求你們回答這個問題@balusc,任何想法請幫助... –

+1

引用自維基百科有關[DTO]的文章(http://en.wikipedia.org/wiki/Data_Transfer_Object)(重點是我的):「...... DTO **除了存儲和檢索自己的數據(訪問器和增變器)外沒有任何行爲** DTO是簡單的對象,它不應包含任何業務邏輯**測試「。順便說一下,在Java EE世界(以前的J2EE)中,DTO模式通常被稱爲* Transfer Object(TO)*。另請參閱[**傳輸對象**](http://www.corej2eepatterns.com/Patterns2ndEd/TransferObject.htm)的這個很好的描述,以更好地理解其使用場景。 – informatik01

+0

至於從服務器端返回錯誤消息的常見方案,請參見[本答案](http://stackoverflow.com/a/14638621/814702)。 – informatik01

回答

0

我相信你需要分別對待你正在實現的架構和你用來實現架構的框架。

Java擁有豐富的工具,用於處理應用程序和選擇的三個標準層,具體取決於預期的負載和服務器資源等因素,如果您有兩個或三個用戶應用程序,那麼這只是一個問題。味道。

就DAO/DTO而言,您也有一些選擇,例如您可以使用hibernate構建您的數據訪問層,然後爲您的服務層API使用DTO。在這種情況下,您可能希望使用工具在域模型和DTO(例如jDTO Binder)之間進行映射。

另一種常見的方法是使用Spring JDBC模板,在那裏你可以變得更瘋狂,並使用相同的域對象作爲服務層API的一部分。

最後,事實是,你可以通過書本做到這一點,或者你可以做到完全不同的選擇是基於你的場景,品味和經驗。