1、开发环境:springboot 2.1.1.RELEASE + thymeleaf-3.0.11.RELEASE + maven 3.4+jdk1.8
2、代码
IftgDialectEntrance:
package com.kencoo.bigerp.common.tags;
import com.kencoo.bigerp.common.tags.processor.IftgSelectProcessor;
import org.springframework.stereotype.Component;
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;
/**
* 自定注解处理入口
*
* @author: zet
* @date:2018/8/22
*/
@Component
public class IftgDialectEntrance extends AbstractProcessorDialect {
private static final String DIALECT_NAME = "IftgDialect";
private static final String PREFIX = "iftg";
public IftgDialectEntrance() {
super(DIALECT_NAME, PREFIX, StandardDialect.PROCESSOR_PRECEDENCE);
}
@Override
public Set<IProcessor> getProcessors(String dialectPrefix) {
final Set<IProcessor> processors = new HashSet<IProcessor>();
// <iftg:select/> 注解
processors.add(new IftgSelectProcessor(dialectPrefix));
// This will remove the xmlns:score attributes we might add for IDE validation
processors.add(new StandardXmlNsTagProcessor(TemplateMode.HTML, dialectPrefix));
return processors;
}
// public Set<IProcessor> getProcessors(String dialectPrefix) {
// return createStandardProcessorsSet(dialectPrefix);
// }
//
// private static Set<IProcessor> createStandardProcessorsSet(String dialectPrefix) {
// LinkedHashSet processors = new LinkedHashSet();
// processors.add(new IftgSelectProcessor(dialectPrefix));
// return processors;
// }
}
IftgUtil:
package com.kencoo.bigerp.common.tags.util;
import com.kencoo.bigerp.common.domain.DictDO;
import com.kencoo.bigerp.common.service.DictService;
import com.kencoo.bigerp.common.tags.vo.ValueVO;
import org.thymeleaf.IEngineConfiguration;
import org.thymeleaf.context.ITemplateContext;
import org.thymeleaf.model.IProcessableElementTag;
import org.thymeleaf.standard.expression.IStandardExpression;
import org.thymeleaf.standard.expression.IStandardExpressionParser;
import org.thymeleaf.standard.expression.StandardExpressions;
import java.util.*;
/**
* IftgUtil 辅助工具类
*
* @author: zet
* @date: 2018/8/23 22:46
*/
public class IftgUtil {
private static final String KEY_ALL = "all";
/**
* 获取数据
*
* @param dictService 字典service对象
* @param dicType 字典类型编码
* @return
*/
public static List<ValueVO> getValues(DictService dictService, String dicType) {
return getValues(dictService, dicType, null);
}
/*