java - 在 Spring Boot 上发布 DTO 对象后的模型属性
问题描述
在我的 Spring Boot 项目中,将 DTO 对象传递给我的视图,然后在提交后发布。例如。表单发布后如何访问“randomKey”?
@GetMapping("/{userId}/edit/feature/")
public String showEditFeature(@PathVariable("userId") Long userId, UserDto userDto,
Model model)
{
User user = userService.get(userId);
model.addAttribute("user", user);
model.addAttribute("randomKEy", "AnyObject");
return "user/edit/profile";
}
然后是我的帖子功能。
@PostMapping("profile_update")
public String watchFeatureUpdate(@Valid UserProfileDto UserProfileDto,
BindingResult result,
RedirectAttributes redirectAttributes, Model model)
{
Long userId = userService.updateUserProfile(userProfileDto);
redirectAttributes.addFlashAttribute("message", "Profile features updated
successfully!");
redirectAttributes.addFlashAttribute("alertClass", "alert-success");
return "redirect:/user/view/" + userId + "/profile";
}
解决方案
您需要在 HTML 页面中包含“用户/编辑/配置文件”作为隐藏输入每个对象属性值,以便在提交表单时将它们发回。
<input type="hidden" name="randomKEy" value="${randomKEy}">
请注意,即使在呈现的网页中不可见,用户仍然可以操作 HTML 内容。
推荐阅读
- .net - 为什么设计时数据上下文属性不会传播到用户控件?
- python - 如何根据值的相似性将字典拆分为两个单独的字典
- r - 如何从另一个 Rccp 函数调用在 Rcpp 中创建的函数
- javascript - 在 ReactJS 中存储 API 密钥的位置?
- bootstrap-4 - 使用引导卡列,我如何强制每列有 X 卡
- c++ - 即使在更改默认值后,conan install --build 由于版本不匹配而失败
- python - 当有 CSS 时,在 jinja2 中循环的单选按钮只有第一个条目被选中?
- javascript - 我在 h3 元素内打印了数据库中的信息。我想从这里读取信息并将其发送到导出默认值中的数据?
- json - Shopify 使用 JSON 来存储主题数据和值,而不是 DB。这可行吗?
- javascript - 使用JS从等式中提取运算符和数字