thymeleaf自定义标签方言

本文详细介绍了Thymeleaf自定义标签方言的使用,包括如何定义方言、处理器,以及如何将它们添加到Thymeleaf引擎中。在实例1中,展示了如何根据值改变表格单元格颜色。实例2进一步扩展,当user.status为1时,展示特定内容。处理器允许根据上下文访问Spring对象,如Service。
摘要由CSDN通过智能技术生成

在上几篇文章中,讲解了thymeleaf的方言定义以及处理器等,接下来通过一个具体的使用来深度了解下thymeleaf方言和处理器的具体使用

实例1

table表格中某一列显示内容为是否启用,具体的值为0和1.如果是0,该单元格是红色,否则为绿色。

定义方言

首先,我们需要定义一个thymeleaf的方言。具体如下:

public class WorkFocusDialect extends AbstractProcessorDialect {
   

    private final IExpressionObjectFactory EXPRESSION_OBJECTS_FACTORY = new WorkFocusExpressionFactory();


    private static final String DIALECT_NAME = "workfocus";

    private static final String PREFIX = "wlf";

    public static final int PROCESSOR_PRECEDENCE = 1000;


    public WorkFocusDialect() {
        // We will set this dialect the same "dialect processor" precedence as
        // the Standard Dialect, so that processor executions can interleave.
        super(DIALECT_NAME, PREFIX, PROCESSOR_PRECEDENCE);
    }
    @Override
    public Set<IProcessor> getProcessors(final String dialectPrefix) {
        final Set<IProcessor> processors = new HashSet<IProcessor>();
        ... 在这里增加自定义的处理器
        processors.add(new SampleAttributeTagProcessor(dialectPrefix));
        processors.add(new SampleElementTagProcessor(dialectPrefix));
        return processors;
    }
}

定义处理器

在上篇文章中,我们了解到如果需要自定义标签的话,其实本质上是需要定义thymeleaf处理器。具体的实现如下

public class SampleAttributeTagProcessor extends AbstractAttributeTagProcessor {
   

    private static final String ATTR_NAME = "sample1";
    private static final int PRECEDENCE = 10000;


    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值