gpt4 book ai didi

java - 如何在 Spring 中使用 SimpleFormController 将多个表单输入组合到一个对象中?

转载 作者:行者123 更新时间:2023-11-30 06:35:29 25 4
gpt4 key购买 nike

我有一个名为 Person 的对象,它具有以下属性:

int id;
Name name;
String address;
Date birthday;
String email;
String note;

Name 类具有以下属性:

String firstName;
String middleName;
String lastName;

在我的表单中,我有这些输入字段:

<tr>
<td>First Name:</td>
<td><form:input path="firstName" /></td>
</tr>
<tr>
<td>Middle Name:</td>
<td><form:input path="middleName" /></td>
</tr>
<tr>
<td>Last Name:</td>
<td><form:input path="lastName" /></td>
</tr>

在将其传递给将由 SimpleFormController 创建的 Person 对象之前,我如何能够检索名称输入字段的值并将其转换为 Name 对象?我很确定我需要使用 initBinder() 方法,但我不知道如何开始。

我正在使用 Spring 3.0,是的,我知道 SimpleFormController 已被弃用,但我仍打算使用它。

最佳答案

你需要写:

<form:input path="name.firstName" />
...

在你的jsp中。并且需要覆盖 formBackingObject方法,以便它返回一个空的 Person 对象,并引用一个空的名称对象

protected Object formBackingObject(HttpServletRequest request) {
Person person = new Person();
person.Name = new Name();
return person;
}

就是这样,您不需要编写自己的绑定(bind)。

关于java - 如何在 Spring 中使用 SimpleFormController 将多个表单输入组合到一个对象中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6026491/

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