私は残念ながらそのため、既存のlibを知らないが、あなたは、このような単純な縮小を達成するために、小さな方言を作成することができます。
まず、あなたの作成ハンドラ
import java.util.regex.Pattern;
import org.thymeleaf.engine.AbstractTemplateHandler;
import org.thymeleaf.model.IComment;
import org.thymeleaf.model.IText;
import org.thymeleaf.util.StringUtils;
public class SimpleMinifierHandler extends AbstractTemplateHandler {
private static final Pattern TAB_OR_NEW_LINE = Pattern.compile("[\\t\\n]+\\s");
@Override
public void handleComment(IComment comment) {
// do not print comments at all
}
@Override
public void handleText(IText text) {
// ignore white spaces, tabs and new lines
if (!ignorable(text)) {
super.handleText(text);
}
}
private boolean ignorable(IText text) {
return StringUtils.isEmptyOrWhitespace(text.getText()) || TAB_OR_NEW_LINE.matcher(text.getText()).matches();
}
}
を作成独自の方言や、あなたのハンドラをアタッチ:
import java.util.HashSet;
import java.util.Set;
import org.thymeleaf.dialect.IPostProcessorDialect;
import org.thymeleaf.engine.ITemplateHandler;
import org.thymeleaf.postprocessor.IPostProcessor;
import org.thymeleaf.templatemode.TemplateMode;
public class SimpleMinifierDialect implements IPostProcessorDialect {
@Override
public String getName() {
return "simple-minifier";
}
@Override
public int getDialectPostProcessorPrecedence() {
return 1000;
}
@Override
public Set<IPostProcessor> getPostProcessors() {
Set<IPostProcessor> set = new HashSet<>(1);
set.add(new IPostProcessor() {
@Override
public TemplateMode getTemplateMode() {
return TemplateMode.HTML;
}
@Override
public int getPrecedence() {
return 1000;
}
@Override
public Class<? extends ITemplateHandler> getHandlerClass() {
return SimpleMinifierHandler.class;
}
});
return set;
}
}
今、あなたは簡単に既存のTemplateEngineにあなたの方言を追加することができます。
を
@Bean
public TemplateEngine templateEngine() {
SpringTemplateEngine engine = new SpringTemplateEngine();
...
...
...
engine.addDialect(new SimpleMinifierDialect());
return engine;
}
このDialectはCSS/JSのようなリソースを処理せず、HTML内に不要な文字を印刷します。しかし、私はDialectsを使って出力をカスタマイズする方法を示していると思います。
、 よろしく
を役に立てば幸い私はあなたがやっていることと、あなたがやろうとしているもの、それをより明確にするために、あなたの文言の一部を再構築しています。含まれるべき情報がまだある場合は、さらに質問を編集することができます。 –