概述

thymeleaf2.1.5自定义标签及自定义属性案例,类似于JSP中的自定义JSTL标签

详细

一、准备工作

springboot默认的模板为thymeleaf,但是默认的模板有时候并不能完全满足业务场景,这个时候就可能需要根据业务场景,通过自定义标签来实现(JSP里使用JSTL),thymeleaf也支持自定义标签,还支持自定义属性。

thymeleaf实际上是xml模板,只是提供的标签及属性和html比较类似,如果对Java解析xml不熟悉的话请先看一下相关资料,学习一下Java如何解析xml,相关的资料网上一搜一大堆,这里不再赘述。

本例子中的自定义标签实现了一个根据模板中配置,把标签转换为div,并显示text属性的内容的功能;

自定义属性实现了一个把输出的内容使用星号(*)进行加密的功能,类似于身份证号某几位显示*号的功能。

二、程序实现

1、index.html中的tag:tabs相关的为自定义标签部分例子,input部分为自定义属性例子

2、实现思路怎样

thymeleaf实现自定义标签及自定义属性是通过AbstractDialect和AbstractProcessor实现的,TagDialect和TagProcessor是自定义标签的例子,SecurityTextDialect和SecurityTextProcessor是自定义属性的例子,WebConfig是TagDialect和SecurityTextDialect的配置信息

3、配置文件说明

配置文件很简单,没什么好说的,为application.yml(spring boot的默认配置文件)文件,如下图

内容如下:

三、运行效果

1、怎样发布、运行起来

例子直接执行com.springtest.Application即可运行,访问地址是http://localhost:8080,直接访问即可看到运行结果

2、运行时的截图

注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权

spring thymeleaf 自定义标签的更多相关文章

  1. Spring的自定义标签

    当Spring拿到一个元素时首先要做的是根据命名空间进行解析,如果是默认的命名空间,则使用parseDefaultElement方法进行元素解析,否则使用parseCustom Element方法进行 ...

  2. 基于Spring开发——自定义标签及其解析

    1. XML Schema 1.1 最简单的标签 一个最简单的标签,形式如: <bf:head-routing key="1" value="1" to= ...

  3. Spring——使用自定义标签

    文章内容参考了<Spring源码深度解析>一书.自己照着书中内容做了一遍,不懂的地方以及采坑的地方会在文中记录. 推荐一篇post,关于Spring配置文件的命名空间: https://w ...

  4. thymeleaf自定义标签方言处理

    项目背景:springboot+thymeleaf thymeleaf两种方式处理自定义标签:AbstractAttributeTagProcessor 和 AbstractElementTagPro ...

  5. thymeleaf教程-springboot项目中实现thymeleaf自定义标签

    转载: http://www.9191boke.com/466119140.html    91博客网 开始: 在使用thymeleaf的过程中有时候需要公共部分渲染页面,这个时候使用自定义标签实现自 ...

  6. Spring IoC 自定义标签解析

    前言 本系列全部基于 Spring 5.2.2.BUILD-SNAPSHOT 版本.因为 Spring 整个体系太过于庞大,所以只会进行关键部分的源码解析. 本篇文章主要介绍 Spring IoC 容 ...

  7. Spring源码学习-容器BeanFactory(四) BeanDefinition的创建-自定义标签的解析.md

    写在前面 上文Spring源码学习-容器BeanFactory(三) BeanDefinition的创建-解析Spring的默认标签对Spring默认标签的解析做了详解,在xml元素的解析中,Spri ...

  8. Spring 系列教程之自定义标签的解析

    Spring 系列教程之自定义标签的解析 在之前的章节中,我们提到了在 Spring 中存在默认标签与自定义标签两种,而在上一章节中我们分析了 Spring 中对默认标签的解析过程,相信大家一定已经有 ...

  9. dubbo源码学习(二) : spring 自定义标签

    做dubbo的配置时很容易发现,dubbo有一套自己的标签,提供给开发者配置,其实每一个标签对应着一个 实体,在容器启动的时候,dubbo会对所有的配置进行解析然后将解析后的内容设置到实体里,最终du ...

随机推荐

  1. cocos2d-x avdrid 试例

    今天将cocos2d-x的示例项目tests编译到android真机运行,以及如何创建cocos2d-x的android项目. 打开cocos2d-x的tests项目,路径为:D:\cocos2d-x ...

  2. AFNetworking 2.0使用(持续更新)

    本人视频教程系列 导入AFNetworking 2.0 文件夹,引入头文件AFNetworking.h --------------- *使用NSURLSessionDownloadTask来下载一张 ...

  3. 解决hue/hiveserver2对于hive date类型显示为NULL的问题

    用户报在Hue中执行一条sql:select admission_date, discharge_date,birth_date from hm_004_20170309141149.inpatien ...

  4. [19] 半球形(Hemisphere)图形的生成算法

    顶点数据的生成 bool YfBuildHemisphereVertices ( Yreal radius, Yuint slices, Yuint stacks, YeOriginPose orig ...

  5. 第二十章 springboot + consul(1)

    consul的具体安装与操作查看博客的consul系列. 一.启动consul (1个server+1个client,方便起见,client使用本机):查看:http://www.cnblogs.co ...

  6. Proxy 代理模式 动态代理 cglib MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  7. 基于json的jquery地区联动探索

    贴一个基于jquery联动的代码,相信这样的代码有一大把,就当是jquery的练手吧, 写这个东西的初衷是来之于新浪微博,在新浪微博帐号设置里面有个地区的选项,使用js写的,想把它的代码给截获下来,可 ...

  8. 浅谈Jquery中的bind()、live()、delegate()、on()绑定事件方式

    一.on(),live(),bind() on() 为指定的元素,添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数.使用 on() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建 ...

  9. 国内各视频网站android pad客户端支持分辨率情况初步统计

    视频网站名称 800*600 1024*600 1280*800 其他 国际化   备注 优酷 支持 支持 支持 支持 不支持     土豆网 没有pad版的 没有pad版的 没有pad版的 支持 不 ...

  10. ListBoxEdit

    <dxe:ListBoxEdit ShowBorder="False" SelectedIndex="0" x:Name="lbView&quo ...