我查了很多关于胸腺的帖子:每一个。其中大多数都解释了如何从后端显示对象列表。但我有一个不同的用例。不确定是否选择了错误的方法。
我的代码样本,因为我不能发布实际的代码。
@Controller
public class MyController {
@GetMapping("/form")
public String inputForm(Model model) {
model.addAttribute("formBean", new FormBean());
return "form";
}
}
my form.html模板
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<body>
<form action="#" th:action="@{/sendfrom}" th:object="${formBean}" id="form_input" method="post">
<div>
<label>Select your choice:</label>
<select id="choice-type" class="field-select" th:field="*{choice}">
<option value="choice1" selected>Choice1</option>
<option value="choice2">Choice2</option>
</select>
<div id="ques-section">
<p>Title for section</p>
<div class="questlist" th:each="question,stat: ${formBean.questionList}">
<label>Question1:</label>
<select name="q1" id="q1" th:field="*{questionList[__${stat.index}__].ans1}">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<p></P>
<label>Question2:</label>
<select name="q2" class="field-select" id="q2" th:field="*{questionList[__${stat.index}__].ans2}" >
<option value="answer">Answer</option>
<option value="answer2">Answer2</option>
</select>
<p></P>
</div>
<p>click on the Add button for another set of quests</p>
<div class="buttonstyle1" id = "quest-add">
<input type="button" value="Add" />
</div>
</div>
<div class="buttonstyle1" id = "section2">
<input type="button" value="Next" />
</div>
//Below section gets displayed once Next is clicked
<div id="second-section">
//Some elements here
</div>
</div>
</form>
</body>
</html>
下面是示例bean类
福姆比恩
public class FormBean {
private String choice;
private List<QuestionBean> questionList;
public String getChoice() {
return choice;
}
public void setChoice(String choice) {
this.choice = choice;
}
public List<QuestionBean> getQuestionList() {
return questionList;
}
public void setQuestionList(List<QuestionBean> questionList) {
this.questionList = questionList;
}
}
问题豆
public class QuestionBean {
private String ans1;
private String ans2;
public String getAns1() {
return ans1;
}
public void setAns1(String ans1) {
this.ans1 = ans1;
}
public String getAns2() {
return ans2;
}
public void setAns2(String ans2) {
this.ans2 = ans2;
}
}
现在的问题是,在加载form.html时 <div id="ques-section">
显示标题和其他按钮。但是 <div class="questlist">
dom本身不存在。我已经在开发工具中调试过了,找不到它。
在spring启动中也没有错误。基本上所有字段下的questlist,我想捕捉到列表时,用户提交表单。add按钮填充javascript中的另一组类似字段,这些字段应该添加到列表中。
一。有人能帮我解决我在这里做错的事吗?
二。请建议我是否为这个用例选择了一个错误的方法(即thymeleaf)?我是新的前端开发。
暂无答案!
目前还没有任何答案,快来回答吧!