班级问题:
class question{
private String questionContent;
private String questionId;
private List<String> options;
}
我的jsonData:
[{'questionContent': 'content1', 'options': ['a', 'b', 'c', 'd'], 'questionId': '001'},
{'questionContent': 'content2', 'options': ['a', 'b', 'c', 'd']}, 'questionId': '002']
并且我使用fastjson创建列表
List<Question> questionList = JSON.parseArray(jsonData, Question.class);
使用百里香叶创建复选框:
<form>
<div th:each="question : ${questionList}">
<div>
<label th:text="${question.questionContent}"></label>
</div>
<div th:each="question2 : ${question.Options}">
<input class="options" th:name="${question.questionId}"
type="checkbox" th:value="${question2}">
</div>
</div>
</form>
spring boot如何获取复选框的值?如何实现控制器? 还是ajax发布数据?
答案 0 :(得分:0)
您可以使用Jquery将数据作为json手动提交到后端的REST POST端点。 您可以按照自己喜欢的任何方法进行操作。在这种情况下,我所做的是在提交表单时触发jquery表单提交,并使用ajax向REST控制器发出POST请求。在此,我假设有一组特定的复选框只会选中“复选框”。否则,您将不得不对其进行修改。
使用Jquery:
$(document).ready(function() {
$( "form" ).submit(function() {
event.preventDefault();
var questions;
questions = {};
$.each($("input[type='checkbox']:checked"),function(){
var questionName,questionValue;
questionValue = $(this).val();
questionName = $(this).attr('name')
questions[questionName] = questionValue;
});
$.ajax({
type : 'POST',
contentType : "application/json;charset=utf-8",
url : '/endpoint/questions/save',
data : JSON.stringify(questions),
dataType : 'json',
success : function(data) {
}
});
});
});
还有一个休息端点,如:
@RestController
@RequestMapping("/endpoint/questions")
public class QuestionsController {
@Autowired
private QuestionsService service;
@PostMapping
@RequestMappint("/save")
@ResponseStatus(HttpStatus.CREATED)
public Long create(@RequestBody Questions resource) {
Preconditions.checkNotNull(resource);
return service.create(resource);
}
}