java - 如何在 GET 请求中使用 RequestParam 上的 Spring MVC 验证在 Thymeleaf 中显示错误消息?
问题描述
我正在尝试验证 get 请求中的一个参数,并希望向视图添加一条错误消息,然后在验证失败时返回带有添加的错误消息的相同视图。我花了很多时间阅读文档和查看示例,但无法弄清楚它如何在当前版本中与 Spring MVC 和 Thymeleaf 一起使用。
有问题的方法:
@GetMapping(value = "/converter", params = {"from", "to", "amount"})
public String convert(@RequestParam("from") String from,
@RequestParam("to") String to,
@RequestParam("amount") @Valid @NotBlank @DecimalMin("0.0") double amount,
Model model) {
String conversion = converterService.convert(new ConversionDTO(from, to, amount));
//model.addValidationErrorsToModelSomehow(errors);
model.addAttribute("conversion", conversion);
return "main";
}
风景:
<div>
<!-- display error here -->
<p th:text="${'Has error: ' + error}"></p>
<form method="get">
Amount
<input type="text" name="amount">
From
<select name="from">
<option value="SEK">SEK</option>
<option value="EUR">EUR</option>
<option value="CHF">CHF</option>
<option value="USD">USD</option>
</select>
To
<select name="to">
<option value="SEK">SEK</option>
<option value="EUR">EUR</option>
<option value="CHF">CHF</option>
<option value="USD">USD</option>
</select>
<input type="submit">
<input type="text" th:value="${conversion}">
</form>
</div>
我需要添加什么才能使其正常工作?
解决方案
推荐阅读
- google-chrome-devtools - 我可以从 devtools 控制台截取屏幕截图吗?
- c - 将可变数量的参数传递给 Char* 数组中的条目
- logging - nsis - 要使用 detailprint 复制的文件的日志名称
- html - 创建包含图像拼贴的两列 HTML 页面
- c++ - 不一致的警告“从 'const unsigned char' 转换为 'const float' 需要缩小转换”
- android - Android 架构组件:依赖版本的 Gradle 同步错误
- mysql - 防止MySQL中JSON数组中的重复
- protractor - Angular 5 中的 Gerkin 和 Cucumber:未定义
- google-cloud-platform - 如何从谷歌云计算实例上的虚拟机外部停用 UFW
- c++ - 将新的 cv::Mat 输入到 vx_graph