【问题标题】:Spring MVC -- flash attributes not displaying in ThymeleafSpring MVC——Thymeleaf 中不显示 Flash 属性
【发布时间】:2017-10-12 23:46:02
【问题描述】:

我已经确认我正在将 RedirectAttributes 与带有非空字符串的 BusinessAuth 对象打包在一起。我做错了什么?

管理员控制器

@RequestMapping(path = BASE_URI + "/auth/business")
public String generateBusinessKeys(RedirectAttributes redirectAttributes) {
    String keyBusiness = ControllerUtil.getNewAuthKey();
    String keyMobile = ControllerUtil.getNewAuthKey();
    BusinessAuth auth = new BusinessAuth(keyBusiness, keyMobile);
    businessAuthService.save(auth);
    redirectAttributes.addFlashAttribute("businessAuth", auth);

    return "/admin/home";
}

HTML

<p th:if="${businessAuth} != null" th:text="admin: "></p>
<p th:if="${businessAuth} != null" th:text="${businessAuth.keyAdmin}"></p> <br />
<p th:if="${businessAuth} != null" th:text="mobile: "></p> <br />
<p th:if="${businessAuth} != null" th:text="${businessAuth.keyMobile}"></p> <br />

商业认证

@Entity
public class BusinessAuth extends BaseEntity {

private String keyMobile;
private String keyAdmin;

public BusinessAuth() {}

public BusinessAuth(String keyMobile, String keyAdmin) {
    this.keyMobile = keyMobile;
    this.keyAdmin = keyAdmin;
}

public String getKeyMobile() {
    return keyMobile;
}

public String getKeyAdmin() {
    return keyAdmin;
}

}

【问题讨论】:

  • flash 属性将在重定向后使用,但是您不仅仅重定向转发。因此,变量永远不会添加到模型中。相反,只需将它们添加到模型或重定向。

标签: spring model-view-controller thymeleaf message flash-message


【解决方案1】:

ModelMap 上设置属性就可以了。

【讨论】:

    猜你喜欢
    • 2013-08-27
    • 1970-01-01
    • 2013-06-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-22
    • 2015-04-08
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多