spring - 将对象从 HTML 模板传回控制器
问题描述
我有以下 HTML 块。我想将对象“jobDTO”传递回控制器“/deleteJob”方法。无论我做什么,我都会得到空对象。
<th:block th:if="${jobDTO != null}" th:each="jobDTO: ${allJobDTOs.get(jobGroup)}">
<div id="accordion2" style="margin-bottom: 3px;">
<div class="card" id="headingOne">
<div class="card-header" style="padding: 0">
<h5 class="mb-0">
<button class="btn btn-link" data-toggle="collapse" th:attr="data-target='#accordion2_'+${jobDTO.identity.name}"
aria-expanded="true" aria-controls="collapseChild" >
<p class="font-weight-bold custom-p identity-black" > Job Identity </p>
<p class="custom-p" style="padding-left: 52px;" th:text="${jobDTO.identity.group} +' , ' + ${jobDTO.identity.name}"></p>
</button>
</h5>
</div>
<div th:id="'accordion2_'+${jobDTO.identity.name}" class="collapse" aria-labelledby="headingOne" data-parent="#accordion2">
<div class="card-body">
<dl class="row">
<dt class="col-lg-3">Trigger List</dt>
<dd class="col-sm-9">
<th:block th:each="trigger: ${jobDTO.triggers}">
<p><b>nextFireTime</b> <span th:text="${trigger.nextFireTime}"> </span></p>
<hr>
</th:block>
</dd>
</dl>
<!-- important part.. how to pass the jobDTO object back to the controller -->
<form id="form2" action="#" th:action="@{/deleteJob}" th:object="${jobDTO}" th:method="post">
<input type="text" th:value="*{identity.name}" th:field="*{identity.name}" hidden/>
<button type="submit" value="Submit" class="btn btn-danger btn-sm" >Delete Job</button>
</form>
</div>
</div>
</div>
</div>
</th:block>
我的控制器相关部分是:
@GetMapping(value = "/deleteJob")
public String deleteJobPage(Model model) {
model.addAttribute("jobDTO", new ScheduleJobDTO());
//Returns the Home page with the prepared model attributes
return "Home";
}
// =================
@PostMapping("/deleteJob")
public String deleteJob(@ModelAttribute final ScheduleJobDTO jobDTOReturn, BindingResult bindingResult, Model model) {
// I want to receive the jobDTO object here
schedulerService.deleteJobFromGroup(jobDTOReturn.getIdentity().getGroup(),
jobDTOReturn.getIdentity().getName());
return "redirect:/";
}
我在这里想念什么?
解决方案
我认为您的输入标签中有错误,请尝试以下操作:
<input type="text" th:value="${jobDTO.identity.name}" th:field="*{identity.name}" hidden/>
推荐阅读
- google-bigquery - 错误:“表或数据量大于 BI 引擎此时支持的量”
- python - 如何在 Tensorboard 中加载选定范围的样本
- solr - 序列化childdocuments,字段spring data solr
- python - 查找两个日期列之间的所有月份并为每个月生成行
- python - 在 pyModbus 事务中访问原始字节
- python - Telegram Bot 在点击内联查询结果时执行回调
- xml - 使用 AspectJ 编译器时如何调试构建错误?特别指出已经创建了资源?
- python - CombineByKey 适用于 pyspark python 2 但不适用于 python 3
- swift - 如何在一种情况下推送视图控制器,但在另一种情况下以模态方式呈现它?
- python - Python wtforms QuerySelectField:返回主键条目以外的其他内容