5
我們有幾個具有空字段的域對象。 我們已經讀過hibernate需要'raw'對象來正確映射它,所以我們的getters返回optionals。 我們的域對象是這樣的:如何處理JSPX中的選項?
public class User {
private String firstName;
private User boss;
public Optional<String> getFirstName(){
....
}
public Optional<User> getBoss() {
...
}
}
但是現在我們有了解決/結合在.jspx文件這些領域的問題。 (無論是顯示還是在表單輸入字段中。) 對於基本類型和字符串,我們可以通過定義一個自定義的OptionalToStringConverter來繞過這個。
還有一個問題是對其他域對象的可空引用。
我們考慮了幾種方案,但都沒有真正滿意與其中任何一個:
- 定義自定義轉換器,用於所有的域對象和類型(會導致許多轉換似乎並沒有爲輸入字段工作)
- 在每個域對象上定義可選和非可選的getter(1.重複代碼,2.我們希望指示可空的字段cleary,3.不覺得乾淨以訪問可選和不可選字段)
- 定義一個返回'raw'值或null的'show command'(重複代碼)
- 定義自定義Tagx傳送,處理自選(時域對象變爲不可選的,我們將不得不改變Tagx廣告)
我們想知道,如果在JSPX解決自選一個非常乾淨的方式。