0
当我点击/repairOnlineHome
url时,尽管它在showRepairStep1()中初始化,但thymeleaf渲染wizardStep仍未初始化。Thymeleaf在控制器方法中设置之前渲染模型属性
如果下一步我打/repairOnlineHome2
网址thymeleaf渲染的WizardStep与以前showRepairStep1设置()即的WizardStep等于1
什么是真正让我感到吃惊的是,它看起来像thymeleaf调用getter方法的WizardStep控制器方法之前设置正确的值值。
@Controller
public class RepairController {
private Integer wizardStep;// = new Integer(1);
@ModelAttribute("wizardStep")
public Integer wizardStep(){
return wizardStep;
}
@RequestMapping({"/repairOnlineHome"})
public String showRepairStep1(final SeedStarter seedStarter) {
seedStarter.setDatePlanted(Calendar.getInstance().getTime());
wizardStep = 1;
return "repairOnlineHome";
}
@RequestMapping({"/repairOnlineHome2"})
public String showRepairStep2(final SeedStarter seedStarter) {
seedStarter.setDatePlanted(Calendar.getInstance().getTime());
wizardStep = 2;
return "repairOnlineHome2";
}
...
}
在HTML渲染我的WizardStep作为
<div>WizardStep: <span th:text="${wizardStep}">wizardStepNo</span></div>
我的问题是:为什么thymeleaf呈现在控制器方法以及如何解决这一问题之前,设置模型属性。