[英]How to handle Optionals in JSPX?
我們有幾個具有可空字段的域對象。 我們已經讀過hibernate需要'raw'對象來正確映射它,所以我們的getter返回選項。 我們的域對象如下所示:
public class User {
private String firstName;
private User boss;
public Optional<String> getFirstName(){
....
}
public Optional<User> getBoss() {
...
}
}
但是現在我們在.jspx文件中解析/綁定這些字段時遇到了問題。 (無論是顯示還是表單輸入字段。)對於原始類型和字符串,我們可以通過定義自定義OptionalToStringConverter來繞過它。
還有一個問題是對其他域對象的可空引用。
我們考慮了幾個選項,但對它們中的任何一個都不滿意:
我們想知道在jspx中是否有一種很好的方法來解決選項。
在表單綁定方面,Spring處理得非常好:例如,它會將下面的第一個值映射到Optional.empty()
,將第二個和第三個值映射到相應的Optional<Boolean>
。
<form:select path="anOptionalBoolean">
<form:option value="" label="Not Specified"/>
<form:option value="true" label="Yes"/>
<form:option value="false" label="No"/>
</form:select>
在顯示值方面,我沒有找到比在EL表達式中使用.get
和.present
等更好的東西。 它確實使得代碼非常繁瑣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.