package com.matrix.system.common.tag; import org.thymeleaf.dialect.AbstractProcessorDialect; import org.thymeleaf.processor.IProcessor; import org.thymeleaf.standard.StandardDialect; import org.thymeleaf.standard.processor.StandardXmlNsTagProcessor; import org.thymeleaf.templatemode.TemplateMode; import java.util.HashSet; import java.util.Set; /** * thymeleaf自定义标签 * * @author jiangyouyao * @email 512061637@qq.com * @date 2019年1月12日 */ public class MatrixProcessorDialect extends AbstractProcessorDialect { /** * 标签名 */ private static final String DIALECT_NAME = "Matrix Dialect"; /** * 标签前缀 */ private static final String DIALECT_PREFIX = "matrix"; public MatrixProcessorDialect() { // We will set this dialect the same "dialect processor" precedence as // the Standard Dialect, so that processor executions can interleave. super(DIALECT_NAME, DIALECT_PREFIX, StandardDialect.PROCESSOR_PRECEDENCE); } /** * 将btn按钮标签属性加入到本方言中 * * @author jiangyouyao * @email 512061637@qq.com * @date 2019年1月12日 * @param dialectPrefix * @return */ @Override public Set getProcessors(final String dialectPrefix) { final Set processors = new HashSet(); processors.add(new ButtonRoleAttributeTagProcessor(dialectPrefix)); processors.add(new ButtonRoleFnTagProcessor(dialectPrefix)); // This will remove the xmlns:matrix attributes we might add for IDE validation processors.add(new StandardXmlNsTagProcessor(TemplateMode.HTML, dialectPrefix)); return processors; } }