我正在开发一个Spring MVC项目,我将mymeleaf用于我的html页面。我在VariableSessionController中创建了一个会话变量。但是,当我使用#session(对于thymeleaf中的会话变量)在我的html页面中调用会话变量时,它将无法工作。但是如果我将其称为模型变量,它就可以工作。然后我尝试在调用其他控制器之后得到我的会话变量,但他没有找到我正在调用的资源。
这是我的控制器,我创建会话变量
@Controller
@SessionAttributes("country")
public class VariableSessionController extends AbstractController {
@ModelAttribute("country")
public Country country() {
Country country = new Country();
country.setCodeCountry("FR");
return country;
}
}
这是我称之为控制器的地方。
@Controller
public class FrontpageController extends VariableSessionController {
@Autowired
private ConsulterInformationsFinancieres infosFinancieres;
@RequestMapping(value = "/")
public String welcome(Model model) {
model.addAttribute("version","V1.1");
return PageTemplates.INDEX;
}
}
这是第二个控制器,我正在调用我的会话变量。
@Controller
public class AdvancedSearchController extends AbstractController {
@RequestMapping(value = "/recherche", method = RequestMethod.GET)
public String init(@RequestParam Map<String, String> requestParams, Model model) {
String debug = String.valueOf(model.containsAttribute("country"));
logger.info(debug); // return false
model.addAttribute("label", "label");
return PageTemplates.ADVANCED_SEARCH;
}
}
感谢您的帮助!