Inyección de plantilla Thymeleaf de bota de primavera

referencia:

Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí

La escena es cuando el nombre de la vista es controlable por el usuario,

La prueba real encontró que está relacionada con la versión de Spring boot, que está relacionada con la versión predeterminada de Thymeleaf.

bota de primavera: 1.5.1.RELEASE spring-boot-starter-thymeleaf: 2.1.5
spring boot: 2.0.0.RELEASE spring-boot-starter-thymeleaf: 3.0.9
spring boot: 2.2.0.RELEASE spring-boot- arrancador-hoja de tomillo: 3.0.11

La versión 3.x de thymeleaf solo se ve afectada.


El thymeleaf-spring5 de renderFragment 3.x versión es así:

            if (!viewTemplateName.contains("::")) {
    
    
                templateName = viewTemplateName;
                markupSelectors = null;
            } else {
    
    
                IStandardExpressionParser parser = StandardExpressions.getExpressionParser(configuration);

                FragmentExpression fragmentExpression;
                try {
    
    
                    fragmentExpression = (FragmentExpression)parser.parseExpression(context, "~{" + viewTemplateName + "}");
                } catch (TemplateProcessingException var25) {
    
    
                    throw new IllegalArgumentException("Invalid template name specification: '" + viewTemplateName + "'");
                }

Y 2.x thymeleaf-spring4 es así

                Configuration configuration = viewTemplateEngine.getConfiguration();
                ProcessingContext processingContext = new ProcessingContext(context);
                templateCharacterEncoding = getStandardDialectPrefix(configuration);
                StandardFragment fragment = StandardFragmentProcessor.computeStandardFragmentSpec(configuration, processingContext, viewTemplateName, templateCharacterEncoding, "fragment");
                if (fragment == null) {
    
    
                    throw new IllegalArgumentException("Invalid template name specification: '" + viewTemplateName + "'");
                }

Supongo que te gusta

Origin blog.csdn.net/caiqiiqi/article/details/108446723
Recomendado
Clasificación