gpt4 book ai didi

java - 在 Java 中使用 JSON 填充 DropDown

转载 作者:太空宇宙 更新时间:2023-11-04 12:04:58 25 4
gpt4 key购买 nike

private Map<String, Map<String, String>> data = new HashMap<String,
Map<String, String>>();
private String type;

private Map<String, String> types;

@PostConstruct
public void init() {
formSchema = new JSONObject();
types = new HashMap<String, String>();
types.put("name", "name");
types.put("address", "address");
types.put("number", "Number");

}

public Map<String, Map<String, String>> getData() {
return data;
}

public String getType() {
return type;
}

public void setType(String type) {
this.type = type;
}

public Map<String, String> getTypes() {
return types;
}

这是我的下拉菜单代码。

我将 xhtml 中的值传递为 -

<b:selectOneMenu id="type" value="#{dropdownView.type}"
style="width:150px">

<f:selectItem itemLabel="Select type" itemValue=""
noSelectionOption="true" />
<f:selectItems value="#{dropdownView.types}" />
</b:selectOneMenu>

这对于硬编码值工作正常,但我需要使用 JSON 架构填充下拉菜单。

我只是一个初学者。任何人都可以帮助我了解如何将 Json 值(例如名称、地址和号码)发送到下拉菜单并在下拉菜单中显示值。任何帮助将不胜感激。提前谢谢您。

以发送json格式为例-

{"form":{"name":"abc","id":"number","date":"true","comment":"largeText"}}

最佳答案

经过思考,我得出的结论是BootsFaces不应该支持这个功能。所以我们不会在 BootsFaces 中实现它。这是因为 Json 是一种非常灵活的格式。 b:selectOneMenu 仅支持由键值对组成的简单列表。显然,灵活的 Json 格式与 b:selectOneMenu 所需的数据结构不匹配。请注意:我们应该如何处理示例中的额外字段 datecomment

但是,您可以自行将 Json 格式转换为键值对。一种简单的方法是在示例的 getData() 方法中实现这样的转换器。在实际示例中,您可能会使用缓存方法,因为 getData() 被调用得相当频繁。

关于java - 在 Java 中使用 JSON 填充 DropDown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40468468/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com