2016-02-15 38 views
-1

我想知道如果可以填充一個bean並且 - 假定每個屬性都是String類型 - 驗證這些屬性都不爲空或空嗎?填充和驗證一個bean

據我研究,填充bean很容易BeanUtils,但我真的找不到驗證部分的解決方案。根據用戶之前的選擇,填充可以針對很多bean類型,但是手動檢查每個屬性會破壞我獲得的優勢。我現在看到的唯一選擇是使用反射,但如果可能的話,我想避免它。

一些僞代碼:

<choose vehicle> 
<fill in form data> 
    <if car> 
     <auto populate carBean> 
     <check every property by hand> 
    <if boat> 
     <auto populate boatBean> 
     <check every property by hand> 
    ... 

任何建議都感激!編輯1:我忘記提及表單在JSP頁面上,數據由servlet處理,bean是實體(POJO)。

+0

看起來您已經熟悉了JSP/Servlet,現在是時候尋找一個真正的基於servlet的MVC框架來保存樣板代碼。例子是JSF和Spring MVC。兩者對Bean驗證以及Bean人口都有透明的支持。 – BalusC

+0

你會推薦哪一個? Spring看起來更受歡迎,而JSF對我來說似乎更友好。 – Peter

回答

1

您可以嘗試使用帶有諸如@NotNull之類的註釋的Bean驗證API(javax.validation包)。配置不太容易,但可能有用。

+0

這些註釋在bean被填充數據時進行評估嗎? – Peter

+0

我沒有用過JSP,所以不能說... – pkalinow

+0

好的,謝謝,我會閱讀它。我會等一下其他建議,如果沒有人會來,我會接受你的答案。 :) – Peter