@@ -60,25 +60,7 @@ public class IncludeTag implements Tag {
6060
6161 @ Override
6262 public String interpret (TagNode tagNode , JinjavaInterpreter interpreter ) {
63- HelperStringTokenizer helper = new HelperStringTokenizer (tagNode .getHelpers ());
64- if (!helper .hasNext ()) {
65- throw new TemplateSyntaxException (
66- tagNode .getMaster ().getImage (),
67- "Tag 'include' expects template path" ,
68- tagNode .getLineNumber (),
69- tagNode .getStartPosition ()
70- );
71- }
72-
73- String path = StringUtils .trimToEmpty (helper .next ());
74- String templateFile = interpreter .resolveString (
75- path ,
76- tagNode .getLineNumber (),
77- tagNode .getStartPosition ()
78- );
79- templateFile = interpreter .resolveResourceLocation (templateFile );
80-
81- final String finalTemplateFile = templateFile ;
63+ final String finalTemplateFile = resolveTemplateFile (tagNode , interpreter );
8264 final TagNode finalTagNode = tagNode ;
8365 try (
8466 AutoCloseableImpl <Result <String , TagCycleException >> includeStackWrapper =
@@ -165,6 +147,30 @@ public String interpret(TagNode tagNode, JinjavaInterpreter interpreter) {
165147 }
166148 }
167149
150+ public static String resolveTemplateFile (
151+ TagNode tagNode ,
152+ JinjavaInterpreter interpreter
153+ ) {
154+ HelperStringTokenizer helper = new HelperStringTokenizer (tagNode .getHelpers ());
155+ if (!helper .hasNext ()) {
156+ throw new TemplateSyntaxException (
157+ tagNode .getMaster ().getImage (),
158+ "Tag 'include' expects template path" ,
159+ tagNode .getLineNumber (),
160+ tagNode .getStartPosition ()
161+ );
162+ }
163+
164+ String path = StringUtils .trimToEmpty (helper .next ());
165+ String templateFile = interpreter .resolveString (
166+ path ,
167+ tagNode .getLineNumber (),
168+ tagNode .getStartPosition ()
169+ );
170+ templateFile = interpreter .resolveResourceLocation (templateFile );
171+ return templateFile ;
172+ }
173+
168174 @ Override
169175 public String getEndTagName () {
170176 return null ;
0 commit comments