0

我已經確認我正在用包含非空字符串的BusinessAuth對象打包RedirectAttributes。我究竟做錯了什麼?Spring MVC - 在Thymeleaf中沒有顯示flash屬性

AdminController

@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 /> 

BusinessAuth

@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; 
} 

}

+0

flash屬性將在重定向後使用,但是您不僅僅重定向轉發。因此變量將永遠不會被添加到模型中。相反,只需將它們添加到模型或重定向。 –

回答

0

ModelMap上設置屬性的確有竅門。

相關問題