电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

SpringBoot使用Thymeleaf自定義標簽的實例代碼

瀏覽:3日期:2023-04-22 16:06:13

此篇文章內容僅限于 描述springboot與 thy 自定義標簽的說明,所以你在看之前,請先會使用springboot和thymeleaf!!

之前寫過一篇是springMVC與thymeleaf 的自定義標簽(屬于自定義方言的屬性一塊,類似thy的th:if和th:text等)文章,如果你想了解,以下是地址:

點擊>>Thymeleaf3.0自定義標簽屬性

這篇例子可以實現你的分頁標簽實現等功能,不會講一堆的廢話和底層的原理(自行百度),屬于快速上手教程,請認真看以下內容!

PS: 請允許我將thymeleaf簡稱thy,springboot簡稱sb

依然直奔主題,sb本身是自帶thy的,而且使用方式也很簡單,直接配置application.properties 這個文件就可以了,當然你不配也是可以的。但是,需要配置自定義方言的話,就需要自己把配置重新寫出來,看下面代碼:

說明:RiskDialect是我自己的自定義標簽,而且從這個配置可以簡單看出,spring視圖的配置通過注解的方式將thymeleaf配置進去了

@Configurationpublic class TemplateEngineConfig{ @Bean public ContentNegotiatingViewResolver getViewResolver(){ ServletContextTemplateResolver templateResolver=new ServletContextTemplateResolver(); templateResolver.setPrefix('/WEB-INF/views/'); templateResolver.setSuffix('.html'); templateResolver.setTemplateMode('HTML5'); templateResolver.setCacheable(false); templateResolver.setCharacterEncoding('UTF-8'); Set<IDialect> additionalDialects=new LinkedHashSet<IDialect>(); //自定義方言 additionalDialects.add(new RiskDialect()); SpringTemplateEngine templateEngine = new SpringTemplateEngine(); templateEngine.setAdditionalDialects(additionalDialects); templateEngine.setTemplateResolver(templateResolver); ThymeleafViewResolver thymeleafViewResolver = new ThymeleafViewResolver(); thymeleafViewResolver.setTemplateEngine(templateEngine); thymeleafViewResolver.setCharacterEncoding('UTF-8'); thymeleafViewResolver.setOrder(1); List<ViewResolver> viewResolvers= new ArrayList<>(); viewResolvers.add(thymeleafViewResolver); ContentNegotiatingViewResolver viewResolver = new ContentNegotiatingViewResolver(); viewResolver.setViewResolvers(viewResolvers); return viewResolver; }}

接下來看RiskDialect實現:

說明:SanstitvEncryptProcessor這個類是 thymeleaf處理器,用來處理定義方言邏輯的

package com.garc.thymeleaf.dialect; import org.springframework.stereotype.Component;import org.thymeleaf.dialect.AbstractDialect;import org.thymeleaf.dialect.AbstractXHTMLEnabledDialect;import org.thymeleaf.processor.IProcessor; import java.util.HashSet;import java.util.Set; /** * Created by Garc on 2018/1/17. */public class RiskDialect extends AbstractDialect { private static final String PREFIX='risk'; private static final String ELEMENT_NAME='sanstitv'; @Override public String getPrefix() { return PREFIX; } @Override public Set<IProcessor> getProcessors() { final Set<IProcessor> processors = new HashSet<>(); processors.add(new SanstitvEncryptProcessor(ELEMENT_NAME)); return processors; }}

繼續看SanstitvEncryptProcessor這個類:

package com.garc.thymeleaf.dialect; import org.springframework.context.ApplicationContext;import org.thymeleaf.Arguments;import org.thymeleaf.dom.Element;import org.thymeleaf.dom.Node;import org.thymeleaf.dom.Text;import org.thymeleaf.processor.ProcessorResult;import org.thymeleaf.processor.element.AbstractElementProcessor;import org.thymeleaf.processor.element.AbstractMarkupSubstitutionElementProcessor;import org.thymeleaf.spring4.context.SpringWebContext; import java.util.ArrayList;import java.util.List; /** * Created by Garc on 2018/1/17. */public class SanstitvEncryptProcessor extends AbstractMarkupSubstitutionElementProcessor { protected SanstitvEncryptProcessor(String elementName) { super(elementName); } @Override protected List<Node> getMarkupSubstitutes(Arguments arguments, Element element) { final Element container = new Element('div'); final Text text = new Text('是的,這是測試'); container.addChild(text); final List<Node> nodes = new ArrayList<>(); nodes.add(container); return nodes; } @Override public int getPrecedence() { return 1000; } }

html使用方式:

risk:sanstitv 是我自定義用的標簽

<!DOCTYPE html><html lang='en' xmlns='http://www.w3.org/1999/xhtml' xmlns:th='http://www.thymeleaf.org' xmlns:risk='http://www.w3.org/1999/xhtml'> <head> <meta content='text/html;charset=UTF-8'></meta> <title>Title</title> </head> <body> <span th:text='${test}'></span> <risk:sanstitv path='測試'></risk:sanstitv> </body></html>

以上這篇SpringBoot使用Thymeleaf自定義標簽的實例代碼就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 钢制拖链生产厂家-全封闭钢制拖链-能源钢铝拖链-工程塑料拖链-河北汉洋机械制造有限公司 | 液氮罐_液氮容器_自增压液氮罐-北京君方科仪科技发展有限公司 | 鲁尔圆锥接头多功能测试仪-留置针测试仪-上海威夏环保科技有限公司 | 聚合氯化铝-碱式氯化铝-聚合硫酸铁-聚氯化铝铁生产厂家多少钱一吨-聚丙烯酰胺价格_河南浩博净水材料有限公司 | 活性氧化铝球|氧化铝干燥剂|分子筛干燥剂|氢氧化铝粉-淄博同心材料有限公司 | 2-羟基泽兰内酯-乙酰蒲公英萜醇-甘草查尔酮A-上海纯优生物科技有限公司 | CCE素质教育博览会 | CCE素博会 | 教育展 | 美育展 | 科教展 | 素质教育展 | 石家庄律师_石家庄刑事辩护律师_石家庄取保候审-河北万垚律师事务所 | 热闷罐-高温罐-钢渣热闷罐-山东鑫泰鑫智能热闷罐厂家 | 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 | 裹包机|裹膜机|缠膜机|绕膜机-上海晏陵智能设备有限公司 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 中高频感应加热设备|高频淬火设备|超音频感应加热电源|不锈钢管光亮退火机|真空管烤消设备 - 郑州蓝硕工业炉设备有限公司 | 航拍_专业的无人机航拍摄影门户社区网站_航拍网 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 粘度计维修,在线粘度计,二手博勒飞粘度计维修|收购-天津市祥睿科技有限公司 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 连栋温室大棚建造厂家-智能玻璃温室-薄膜温室_青州市亿诚农业科技 | 沟盖板_复合沟盖板厂_电力盖板_树脂雨水篦子-淄博拜斯特 | 焊接烟尘净化器__焊烟除尘设备_打磨工作台_喷漆废气治理设备 -催化燃烧设备 _天津路博蓝天环保科技有限公司 | 新密高铝耐火砖,轻质保温砖价格,浇注料厂家直销-郑州荣盛窑炉耐火材料有限公司 | 浙江工业冷却塔-菱电冷却塔厂家 - 浙江菱电冷却设备有限公司 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 安徽合肥格力空调专卖店_格力中央空调_格力空调总经销公司代理-皖格制冷设备 | 国资灵活用工平台_全国灵活用工平台前十名-灵活用工结算小帮手 | 磁力链接搜索神器_BT磁力狗_CILIMAO磁力猫_高效磁力搜索引擎2024 | 蒸压釜-陶粒板隔墙板蒸压釜-山东鑫泰鑫智能装备有限公司 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 超声波_清洗机_超声波清洗机专业生产厂家-深圳市好顺超声设备有限公司 | 硬度计_影像测量仪_维氏硬度计_佛山市精测计量仪器设备有限公司厂家 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 杭州代理记账费用-公司注销需要多久-公司变更监事_杭州福道财务管理咨询有限公司 | 土壤养分检测仪_肥料养分检测仪_土壤水分检测仪-山东莱恩德仪器 大型多片锯,圆木多片锯,方木多片锯,板材多片锯-祥富机械有限公司 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 移动机器人产业联盟官网| 喷漆房_废气处理设备-湖北天地鑫环保设备有限公司 | 重庆私家花园设计-别墅花园-庭院-景观设计-重庆彩木园林建设有限公司 | 齿轮减速机_齿轮减速电机-VEMT蜗轮蜗杆减速机马达生产厂家瓦玛特传动瑞环机电 |