Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何序列化和反序列化Vaadin Flow 14中的组件?_Java_Serialization_Deserialization_Vaadin Flow_Vaadin14 - Fatal编程技术网

Java 如何序列化和反序列化Vaadin Flow 14中的组件?

Java 如何序列化和反序列化Vaadin Flow 14中的组件?,java,serialization,deserialization,vaadin-flow,vaadin14,Java,Serialization,Deserialization,Vaadin Flow,Vaadin14,假设我有一堆文本字段、文本框、带名称的按钮和复选框等 当我按下保存按钮时,我想保存所有这些组件。我编写了一个类,它将从这些组件中选择感兴趣的值。但问题是,这将成为许多代码 将组件中的数据保存到文件中必须是一种更简单的方法?如果您的数据表示为业务对象(JavaBeans),那么使用Vaadin的Binder类(它还有其他好处,例如促进组件的验证和转换)更容易实现您的目标。以最简单的形式,它可以是这样的: Binder<Person> binder = new Binder<>

假设我有一堆文本字段、文本框、带名称的按钮和复选框等

当我按下保存按钮时,我想保存所有这些组件。我编写了一个类,它将从这些组件中选择感兴趣的值。但问题是,这将成为许多代码


将组件中的数据保存到文件中必须是一种更简单的方法?

如果您的数据表示为业务对象(JavaBeans),那么使用Vaadin的Binder类(它还有其他好处,例如促进组件的验证和转换)更容易实现您的目标。以最简单的形式,它可以是这样的:

Binder<Person> binder = new Binder<>(Person.class);
TextField text= new TextField();
binder.bind(text, Person::getName, Person::setName);

Person person = new Person("First Last");
//Then you can set this person bean to be automatically in sync
//with the the TextField like so
binder.setBean(person);
Binder Binder=新的Binder(Person.class);
TextField text=新的TextField();
bind(text,Person::getName,Person::setName);
人员=新人员(“第一个/最后一个”);
//然后您可以将这个person bean设置为自动同步
//像这样的文本字段
binder.setBean(人);
Vaadin的文档中有更多的示例和高级用例:

如果您的数据表示为业务对象(JavaBeans),那么使用Vaadin的Binder类更容易实现您的目标(它还有其他好处,例如方便组件的验证和转换)。以最简单的形式,它可以是这样的:

Binder<Person> binder = new Binder<>(Person.class);
TextField text= new TextField();
binder.bind(text, Person::getName, Person::setName);

Person person = new Person("First Last");
//Then you can set this person bean to be automatically in sync
//with the the TextField like so
binder.setBean(person);
Binder Binder=新的Binder(Person.class);
TextField text=新的TextField();
bind(text,Person::getName,Person::setName);
人员=新人员(“第一个/最后一个”);
//然后您可以将这个person bean设置为自动同步
//像这样的文本字段
binder.setBean(人);
Vaadin的文档中有更多的示例和高级用例:

什么样的vaadion版本?在V8中有writeDesign@cfrick这是vaadin 14我不认为“序列化”是你想要的合适的技术术语。您是否询问将数据值从用户输入持久化到存储器?你在使用数据库吗?请参阅维基百科中的“序列化”与“持久性”。@BasilBourque我认为序列化对我来说很好。我今天会给出答案,然后给你一个答复。什么是瓦迪翁版本?在V8中有writeDesign@cfrick这是vaadin 14我不认为“序列化”是你想要的合适的技术术语。您是否询问将数据值从用户输入持久化到存储器?你在使用数据库吗?请参阅维基百科中的“序列化”与“持久性”。@BasilBourque我认为序列化对我来说很好。我今天会给出答案,然后回复。看起来很棒!但是,我将binder对象保存到一个文件中,然后我也可以加载它?不是binder对象,而是保存bean(或bean)并重新加载它。我如何保存bean?DanielMårtensson不,你不保存binder对象,而是保存在binder中设置的bean。在本例中,您可以将绑定器视为获取由所有绑定输入字段表示的bean的助手。然后可以使用@kscherrer完成bean的序列化和反序列化,不知道如何保存或加载bean。看起来很棒!但是,我将binder对象保存到一个文件中,然后我也可以加载它?不是binder对象,而是保存bean(或bean)并重新加载它。我如何保存bean?DanielMårtensson不,你不保存binder对象,而是保存在binder中设置的bean。在本例中,您可以将绑定器视为获取由所有绑定输入字段表示的bean的助手。然后可以使用@kscherrer完成bean的序列化和反序列化,该@kscherrer不确定如何保存或加载bean。