# Thymeleaf 标签方言 本插件的作用是让我们可以在 Thymeleaf 页面中使用 Sa-Token 相关API,俗称 —— 标签方言。 --- ### 1、引入依赖 首先我们确保项目已经引入 Thymeleaf 依赖,然后在此基础上继续添加: ``` xml cn.dev33 sa-token-dialect-thymeleaf ${sa.top.version} ``` ``` gradle // 在 thymeleaf 标签中使用 Sa-Token implementation 'cn.dev33:sa-token-dialect-thymeleaf:${sa.top.version}' ``` ### 2、注册标签方言对象 在 SaTokenConfigure 配置类中注册 Bean ``` java @Configuration public class SaTokenConfigure { // Sa-Token 标签方言 (Thymeleaf版) @Bean public SaTokenDialect getSaTokenDialect() { return new SaTokenDialect(); } } ``` ### 3、使用标签方言 然后我们就可以愉快的使用在 Thymeleaf 页面中使用标签方言了 ##### 3.1、登录判断 ``` html

标签方言测试页面

登录之后才能显示: value

不登录才能显示: value

``` ##### 3.2、角色判断 ``` html

具有角色 admin 才能显示: value

同时具备多个角色才能显示: value

只要具有其中一个角色就能显示: value

不具有角色 admin 才能显示: value

``` ##### 3.3、权限判断 ``` html

具有权限 user-add 才能显示: value

同时具备多个权限才能显示: value

只要具有其中一个权限就能显示: value

不具有权限 user-add 才能显示: value

``` ### 4、调用 Sa-Token 相关API 以上的标签方言,可以满足我们大多数场景下的权限判断,然后有时候我们依然需要更加灵活的在页面中调用 Sa-Token 框架API 首先在 SaTokenConfigure 配置类中为 Thymeleaf 配置全局对象: ``` java @Configuration public class SaTokenConfigure{ // ... 其它代码 // 为 Thymeleaf 注入全局变量,以便在页面中调用 Sa-Token 的方法 @Autowired private void configureThymeleafStaticVars(ThymeleafViewResolver viewResolver) { viewResolver.addStaticVariable("stp", StpUtil.stpLogic); } } ``` !> 注意:如果`SaTokenConfigure`继承了`WebMvcConfigurer`等类,可能会造成循环依赖,如果遇到,请新建一个其他配置类完成此项配置 然后我们就可以在页面上调用 StpLogic 的 API 了,例如: ``` html

调用 StpLogic 方法调用测试

从SaSession中取值:

``` ### 5、代码提示 如果想在写标签属性时增加代码提示: ![thymeleaf-code-tips.png](https://oss.dev33.cn/sa-token/doc/thymeleaf-code-tips.png 's-w') 只需在头部声明增加上对应的命名空间即可: ``` html ```