package com.izerofx.framework.core.dialect; import java.util.Date; import org.springframework.stereotype.Component; import org.thymeleaf.context.ITemplateContext; import org.thymeleaf.engine.AttributeName; import org.thymeleaf.model.IProcessableElementTag; import org.thymeleaf.processor.element.IElementTagStructureHandler; import org.thymeleaf.standard.processor.AbstractStandardExpressionAttributeTagProcessor; import org.thymeleaf.templatemode.TemplateMode; import com.izerofx.framework.basic.util.RelativeDateFormat; /** * * 类名称:PrettytimeProcessor<br> * 类描述:友好时间显示<br> * 创建人:qinjiaxue<br> * 创建时间:2016年11月7日 下午2:34:04<br> * @version v1.0 * */ @Component public class PrettytimeProcessor extends AbstractStandardExpressionAttributeTagProcessor { public static final int PRECEDENCE = 10000; // 优先级 public static final String DEFAULT_DIALECT_PREFIX = "izerofx"; // 默认前缀 public static final String ATTR_NAME = "prettytime"; // 属性名称 /** * * 创建一个新的实例 PrettytimeProcessor. */ public PrettytimeProcessor() { super(TemplateMode.HTML, DEFAULT_DIALECT_PREFIX, ATTR_NAME, PRECEDENCE, true); } @Override protected void doProcess(final ITemplateContext context, final IProcessableElementTag tag, final AttributeName attributeName, final String attributeValue, final Object expressionResult, final IElementTagStructureHandler structureHandler) { structureHandler.setBody(RelativeDateFormat.format((Date) expressionResult), false); } }