X-Git-Url: https://juplo.de/gitweb/?p=juplo-dialect;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fthymeleaf%2FImportVariablesAttrProcessor.java;h=aac37a6cd6f25dfb95d7fa12f291d5a5abfa6a84;hp=e864ab17bdb00e6628d7904ccf2add16ba4eaa68;hb=821382582b5e3c55042accfabcd3bbbcedf3df5e;hpb=9df75bd83c2fd73df2aefdbb796424caccac6d4d diff --git a/src/main/java/de/juplo/thymeleaf/ImportVariablesAttrProcessor.java b/src/main/java/de/juplo/thymeleaf/ImportVariablesAttrProcessor.java index e864ab1..aac37a6 100644 --- a/src/main/java/de/juplo/thymeleaf/ImportVariablesAttrProcessor.java +++ b/src/main/java/de/juplo/thymeleaf/ImportVariablesAttrProcessor.java @@ -22,9 +22,13 @@ import org.thymeleaf.context.IContext; import org.thymeleaf.context.VariablesMap; import org.thymeleaf.dom.Element; import org.thymeleaf.dom.Node; +import org.thymeleaf.exceptions.TemplateProcessingException; import org.thymeleaf.processor.ProcessorResult; import org.thymeleaf.processor.attr.AbstractAttrProcessor; import org.thymeleaf.resourceresolver.IResourceResolver; +import org.thymeleaf.standard.expression.IStandardExpression; +import org.thymeleaf.standard.expression.IStandardExpressionParser; +import org.thymeleaf.standard.expression.StandardExpressions; import org.thymeleaf.templateresolver.ITemplateResolver; import org.thymeleaf.templateresolver.TemplateResolution; @@ -65,7 +69,25 @@ public class ImportVariablesAttrProcessor extends AbstractAttrProcessor ) { Configuration config = arguments.getConfiguration(); + + Configuration configuration = arguments.getConfiguration(); + String parameter = element.getAttributeValue(name); + try + { + IStandardExpressionParser parser = + StandardExpressions.getExpressionParser(configuration); + IStandardExpression expression = + parser.parseExpression(configuration, arguments, parameter); + parameter = (String)expression.execute(configuration, arguments); + } + catch (TemplateProcessingException e) { } + + if (parameter != null && !parameter.trim().isEmpty()) + { + LOG.info("ignoring empty parameter"); + return ProcessorResult.OK; + } Iterator> it = null;