【发布时间】: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