【发布时间】:2021-06-19 01:42:17
【问题描述】:
我是 JavaScript 的初学者,现在我正面临这样的问题。 我有一个枚举
@JsonFormat(shape = Shape.OBJECT)
public enum FinancialEventType {
Income("Income"),
Expense("Expense");
private String code;
private FinancialEventType(String code) {
this.code = code;
}
@JsonValue
public String getCode() {
return this.code;
}
}
我想通过 ModelAttribute(作为对象和 JSON)将枚举传递给我的视图
@ModelAttribute()
public void addAttributes(Model model) throws JsonProcessingException {
String data1 = new ObjectMapper().writeValueAsString(FinancialEventType.values());
model.addAttribute("data1", data1);
model.addAttribute("eventTypes", FinancialEventType.values());
}
在我看来我可以得到这些属性
<script>
var documentDate = "[[${documentDate}]]";
var eventTypes = "[[${eventTypes}]]";
var data1 = "[[${data1}]]";
console.log("data1: " + data1);
</script>
但是“JSON”看起来有点奇怪:
data1: ["Income","Expense"]
当我尝试通过 JavaScript 生成下拉元素时
//Create and append the options
for (var i = 0; i < data1.length; i++) {
var option = document.createElement("option");
option.value = data1[i];
option.text = data1[i];
selectList.appendChild(option);
}
row.appendChild(cell);
感谢您的建议 维托德
【问题讨论】:
-
正确的结果应该是
[ 'Income', 'Expense' ]?
标签: javascript java json spring-boot