Tôi đang sử dụng Spring cho biểu mẫu HTML. Một trong các trường là enum
và do đó tôi muốn danh sách thả xuống HTML (<option>
thẻ). Tên enum của tôi khác với giá trị toString()
. Ví dụ:Sử dụng thẻ tùy chọn Spring để hiển thị giá trị toString của enum
public enum Size {
SMALL("Small"), LARGE("Large"), VERY_LARGE("Very large");
private final String displayName;
private Size(String displayName) {
this.displayName = displayName;
}
public String toString() {
return displayName;
}
}
Tôi muốn người dùng xem giá trị toString()
. Thông thường, điều này được thực hiện bằng cách sử dụng itemLabel
của thẻ tùy chọn Spring.
<form:options items="${enumValues}" itemLabel="beanProperty" />
Nhưng toString()
không phải là thuộc tính bean vì nó không bắt đầu bằng "get". Có cách nào để thiết lập itemLabel
để sử dụng giá trị toString mà không cần phải tạo một getter?
Không bao giờ quá muộn: http://xkcd.com/979/ –
Điều này được sử dụng để làm việc trong 3.0, nhưng đã bị hỏng kể từ 3.1, xem https://jira.spring.io/browse/SPR-9214 và https://jira.spring.io/browse/SPR-10281 –