Thymeleaf无法获取session中的值在页面内进行渲染

        首先要明白Thymeleaf是一个用来渲染数据的模板引擎,既然是用来渲染数据的,自然得有数据才能进行渲染。然后在今天的项目练习中,突然出现"th:text"无法覆盖标签内内容的问题没最严重的是无法获得/login的controller中的session中存储的username。

        出现这种情况的原因是:/login的controller成功后跳转到index.html,将数据带到了index.html页面,而在index.html页面内点击的超链接则跳转到了A.html页面,但是并没有数据传递过来,所以无法进行模板数据渲染。

        解决方案:将超链接对应一个controller,可以采用参数变量的方式,让多个超链接通过同一个controller跳转到对应的页面。

如下:

HTML页面对应的超链接:

 <li role="presentation"><a href="/kinds?specific=qihuan">奇幻</a></li>
 <li role="presentation"><a href="/kinds?specific=xuanhuan">玄幻</a></li>
 <li role="presentation"><a href="/kinds?specific=wuxia">武侠</a></li>

controller:

 @GetMapping("/kinds")
    public String specificPage(@RequestParam("specific") String specific,
                               HttpSession session) {
 
        return "" + specific + "";
    }


版权声明:本文为I80231314原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。