【问题标题】:How to get Localdate as parameter?如何获取 Localdate 作为参数?
【发布时间】:2018-07-15 11:33:15
【问题描述】:

我有一个如下所示的表单:

<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 的模式,但仍然无法正常工作。
接收日期参数的正确方法可能是什么?

【问题讨论】:

    标签: java spring-mvc thymeleaf


    【解决方案1】:

    这里的绑定好像没有发生。你可以尝试使用spring:form标签并通过modelAttribute绑定控制器对象。

    【讨论】:

      猜你喜欢
      • 2018-06-08
      • 2021-10-06
      • 2022-01-26
      • 1970-01-01
      • 1970-01-01
      • 2021-05-25
      • 2018-07-07
      • 1970-01-01
      • 2013-12-05
      相关资源
      最近更新 更多