gpt4 book ai didi

java - 想要为类(dao)中的字段创建 View 绑定(bind)器。该字段将 json 作为文本

转载 作者:行者123 更新时间:2023-12-02 11:18:56 25 4
gpt4 key购买 nike

public class JsonObject {
private HashMap<String, JsonObject> jsonObjects;
private List<JsonObject> jsonArray;
private Integer jsonNumber;
private String jsonString;
private Boolean jsonBoolean;
private Float jsonFloat;
private String original;

private VIEW view;

@SuppressWarnings("unchecked")
public JsonObject(String json) {
//... json parser to class field
}
<VIEW> void name(VIEW v) {
this.view=v;
}
// ... getter and setters
}

像 UI 基础设施一样使用 Vaadin FW。我不会这样声明:

    public class Exm extends FormLayout {

public Exm() {
String json = "{some json ....}";
JsonObject<TextField> js = new JsonObject(json);

js.viewBainder(TextField::getValue,TextField::setValue)
.viewCaption(TextField::setCaption,TextField::getCaption)
.viewValueChangeEvents(TextField::addValueChangeListener);

addComponent(js.getView());
}
}

我可以在不使用泛型类而仅使用泛型方法的情况下执行此操作吗?

如何在类中绑定(bind) VIEW 和抽象方法?

请。举个简单的例子。

附注我是java初级,请。不要在困难中思考。我!谢谢。

最佳答案

您可以在此处找到 Vaadin 中表单数据绑定(bind)的文档:

https://vaadin.com/docs/v8/framework/datamodel/datamodel-forms.html

这个概念是,Vaadin 中有一个 Binder 类,它可以将 Vaadin 字段组件(实现 HasValue 的组件)与 POJO(即具有属性 getter 和 setter 的 Java 对象)绑定(bind)。Vaadin 8 数据绑定(bind)最容易与 Java8 语法一起使用。

你的问题的第二部分是如何将 JSON 反序列化为 POJO 并返回字符串,根据你的问题,我不明白你正在使用什么库,有很多库,并且细节根据你使用的库而有所不同。无论您使用什么,都应该使用 getName() 和 setName(..) 方法构造 java 对象(名称现在是 JSON 中的属性之一)。

How to convert String to JSONObject in Java

通常我们喜欢调用 JSON DTO 对象(=数据传输对象)的反序列化版本,因为它仅在应用程序内部使用。所以如果这被称为例如人员DTO

TextField nameField = new TextField();

// Shorthand for cases without extra configuration
binder.bind(nameField, PersonDTO::getName, PersonDTO::setName);

关于java - 想要为类(dao)中的字段创建 View 绑定(bind)器。该字段将 json 作为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50071794/

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