【发布时间】:2017-08-09 07:43:05
【问题描述】:
我想将输入字段中的所有文本字段和单选按钮作为 ArrayList 提交,并将其解析到控制器,但我不知道该怎么做。
非常感谢任何帮助。
到目前为止,这是我尝试过的:
@RequestMapping(value = "/formdata", method = RequestMethod.POST)
public String formdata(HttpServletRequest req, @AuthenticationPrincipal User currentUser,
@ModelAttribute RegDatas regDatas, Model model) {
// get values as regDatas[0]?
}
这是我的 HTML 表单:
<form method="post" th:action="@{/formdata}" th:object="${regDatas}">
<div class="col-sm-4">
<input th:field="*{regDatas[0].gender}" type="radio" value="MALE" name="gender" disabled="disabled" /><span>Mr</span>
<input th:field="*{regDatas[0].gender}" type="radio" value="FEMALE" name="gender" disabled="disabled"/><span>Frau</span>
<p>Firstname:</p>
<input required="required" type="text" th:field="*{regDatas[0].firstname}" placeholder="Max" disabled="disabled" />
</div>
<div class="col-sm-4">
<input th:field="*{regDatas[1].gender}" type="radio" value="MALE" name="gender" disabled="disabled" /><span>Mr</span>
<input th:field="*{regDatas[1].gender}" type="radio" value="FEMALE" name="gender" disabled="disabled"/><span>Frau</span>
<p>Firstname:</p>
<input required="required" type="text" th:field="*{regDatas[1].firstname}" placeholder="Max" disabled="disabled" />
<button type="submit">Speichern</button>
</div>
</form>
我的包装类:
public class RegDatas {
private List<RegData> regDatas;
public List<RegData> getRegDatas() {
return regDatas;
}
public void setRegDatas(List<RegData> regDatas) {
this.regDatas = regDatas;
}
}
我的类来存储值:
public class RegData {
private String email;
private String firstname;
private Gender gender;
public String getEmail() {return email;}
public void setEmail(String email) {this.email = email;}
public String getFirstname() {return firstname;}
public void setFirstname(String firstname) {this.firstname = firstname;}
public Gender getGender() {return gender;}
public void setGender(Gender gender) {this.gender = gender;}
}
这是我看到的错误,如果我像这样运行它:
org.springframework.beans.NotReadablePropertyException: Invalid property 'RegDatas[0]' of bean class [de.ciss.aag.model.domain.RegData]: Bean property 'RegDatas[0]' is not readable or has an invalid getter method
【问题讨论】:
-
从表面上看,这看起来应该可行。你看到什么问题?当您执行 POST 时,
regDatas变量在您的控制器中包含什么? -
我收到此错误 org.springframework.beans.NotReadablePropertyException:bean 类 [de.ciss.aag.model.domain.RegData] 的无效属性“RegDatas [0]”:Bean 属性“RegDatas [ 0]' 不可读或具有无效的 getter 方法
-
什么时候看到错误?是在您提交表单时,还是在您最初加载页面时?你有什么东西可以填充你的模型类吗?当页面加载时,您的
RegDatas.regDatas列表中有任何内容吗? -
初次加载页面时提示错误。类中没有任何内容:/
标签: java spring spring-data thymeleaf request-mapping