返回

shiro+thymeleaf 整合

发布时间:2022-10-24 21:31:27 310
# html# java# 后端# spring# git

SpringBoot框架整合了thymeleaf,后端用shiro做权限管理。

首先我先对thymeleaf做一个简单的介绍方便大家更好的理解相关的知识

hymeleaf 是一款用于渲染 XML/XHTML/HTML 5 内容的模板引擎。类似 JSP、Velocity、FreeMaker 等,它也可以轻易的与 Spring MVC 等 Web 框架进行集成作为 Web 应用的模板引擎。可以使用Thymeleaf来完全代替JSP或其他模板引擎

常用标签语法介绍

1、常用语法

  • 赋值、字符串拼接
<p th:text="${userName}">相信光的奥特王小懒p>
<span th:text="|Welcome to our application, ${userName}!|">span>
  • for 循环


一些比较重要的特点
  • 动静结合
  • 开箱即用
  • 多方言支持:它提供了 Thymeleaf 标准和 Spring 标准两种方言,可以直接套用模板实现 JSTL、 OGNL 表达式;必要时,开发人员也可以扩展和创建自定义的方言。
  • 与 SpringBoot 完美整合

片段引用表达式

片段引用表达式用于在模板页面中引用其他的模板片段,该表达式支持以下 2 中语法结构:

  • 推荐:~{templatename::fragmentname}
  • 支持:~{templatename::#id}

templatename:模版名,fragmentname:片段名,Thymeleaf 通过 th:fragment 声明定义代码块,即:th:fragment="fragmentname"。id:HTML 的 id 选择器,使用时要在前面加上 # 号,不支持 class 选择器。

接下来开始讲述整合的大概的一个步骤如下:

  1. 导入jar
  2. 导入命名空间,使用shiro:hasPermission=""来判断用户是否拥有这一个权限。
  3. 在Config上面导入ShiroDialect的Bean对象
  4. 根据用户是否已经存在来决定是否显示按钮。

1.1 首先导入依赖

  <dependency>
<groupId>com.github.theborakompanionigroupId>
<artifactId>thymeleaf-extras-shiroartifactId>
<version>2.0.0version>
dependency>

1.2 完成使用前的配置


在ShiroConfig文件中进行配置:

shiro+thymeleaf 整合_spring

1.3相关的应用实例

DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org"
xmlns:shiro="http://www.thymeleaf.org/thymeleaf-extras-shiro">
<head>
<meta charset="UTF-8">
<title>首页title>
head>
<body>
<h1>首页h1>

<div >
<a th:href="@{/toLogin}">登录a>
<div/>

<p th:text="${msg}">p>
<hr>



<div shiro:hasPermission="user:add">
<a th:href="@{/user/add}">adda>
div>

<div shiro:hasPermission="user:update">
<a th:href="@{/user/update}">updatea>
div>

body>
html>

前端页面:
shiro:hasPermission 作用:
用于判断用户是否拥有这个权限,有则显示这个div,没有则不显示。

<div shiro:hasPermission="user:add">
进入用户添加功能:<a href="add">用户添加a><br/>
div>
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线