thymeleaf模板引擎和shiro框架的整合
thymeleaf用法shiro权限框架,前端验证是为jsp设计的,其中的tag只能⽤于jsp系列的模板引擎。最近项⽬使⽤了thymeleaf作为前端模板引擎,使⽤HTML⽂件,没法引⼊shiro的tag lib,此时如果要使⽤shiro的话,可以引⼊ thymeleaf-extras-shiro.jar这个拓展包来曲线实现shiro的前端验证。
在l中加⼊如下依赖:
<dependency>
<groupId>com.github.theborakompanioni</groupId>
<artifactId>thymeleaf-extras-shiro</artifactId>
<version>1.0.2</version>
</dependency>
引⼊jar包后,我们要简单设置⼀下thymeleaf的引擎:
<bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
<property name="templateResolver" ref="templateResolver" />
<property name="additionalDialects">
<set>
<bean class="at.pollux.thymeleaf.shiro.dialect.ShiroDialect"/>
</set>
</property>
</bean>
或者如果使⽤的是Java代码配置的话:
public SpringTemplateEngine templateEngine() {
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver());
Set<IDialect> additionalDialects = new HashSet<IDialect>();
additionalDialects.add(new ShiroDialect());
templateEngine.setAdditionalDialects(additionalDialects);
return templateEngine;
}
然后就可以在页⾯中使⽤thymeleaf化的shiro标签来进⾏前端验证了。
shiro本⾝的标签有限,没有hasAnyPermission标签,我在之前的⼀篇⽂章中有写过jsp标签的版本,其实,在这⾥如果使⽤的是thymeleaf,也可以⾃定义拓展⼀下shiro的hasAnyPermission。
将下载下来的thymeleaf-extras-shiro.jar打开,会有⼀个l的⽂件,这⾥定义了thymeleaf的shiro属性,我们也可以根据这⾥⾯的例⼦进⾏简单拓展。
这⾥其实是在拓展thymeleaf,中有详细的说明和简单例⼦,对照⽂档,学习会更快。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。