java - 如何获取 Localdate 作为参数?
问题描述
我有一个看起来像这样的表格:
<form th:action="@{/viewExpenses}" method="post" class="form-horizontal">
<div class="form-group">
<label for="date" class="control-label col-md-3">Date:-</label>
<div class="col-md-9">
<input type="date" class="form-control" id="date" th:name="date"/>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-3 col-md-4">
<button class="btn btn-primary">View Details</button>
</div>
</div>
</form>
现在,当我提交此表单时,我希望将日期值设为LocalDate
. 所以在我的控制器上我做了:
@RequestMapping(value = "/viewExpenses", method = RequestMethod.POST)
public String expenseDetails(Model model, @RequestParam("date")
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate date) {
BigDecimal totalExpense = new BigDecimal(0);
List<Expenditure> e = expenditureService.viewExpenseDetails(date);
for (Expenditure exp : e) {
totalExpense = totalExpense.add(exp.getAmount());
}
model.addAttribute("showExpenditure", true);
model.addAttribute("totalExpense", totalExpense);
model.addAttribute("expenses", e);
return "finance/expensedetails";
}
现在我在我的控制器中获得日期值作为null
. 我已经尝试改变模式,@DateTimeFormat
但它仍然无法正常工作。
接收日期参数的正确方法是什么?
解决方案
看起来这里的绑定没有发生。您可以尝试使用 spring:form 标签并通过 modelAttribute 绑定控制器对象。
推荐阅读
- c - 我无法使用 fwrite 将空格分隔的字符串写入 C 中的文件
- c++ - 如何在 AES_set_encrypt_key 中使用 openssl 中的自定义密钥
- typescript - 如何计算 vscode 扩展中文件夹中的文件数?
- php - PHP cannot execute local programs when accessed through a browser
- c++ - What's the difference between push_back({ "George", 1 }) and push_back(Student("Jack", 10));
- django - Send data in Angular to backend Django for sending email
- javascript - 有人播放音频时如何获取帖子 ID?
- postgresql - 是否有可能找出哪个用户在 Postgres 中删除了一个表?
- json - 验证它以用于颤振时出现 JSON 错误
- iis - aspnet_regiis.exe/alternative 用于 .net core 3.1 加密