В среде шаблона Spring Boot + Усы , если мы не присвоили значение {{переменной}}
на странице Усы, jmustache выдаст следующие сообщения об ошибках:
com.samskivert.mustache.MustacheException$Context: No method or field with name 'variable' on line xx at com.samskivert.mustache.Template.checkForMissing(Template.java:316) ~[jmustache-1.13.jar:na] at com.samskivert.mustache.Template.getValue(Template.java:224) ~[jmustache-1.13.jar:na] at com.samskivert.mustache.Template.getValueOrDefault(Template.java:269) ~[jmustache-1.13.jar:na]
P.S Протестирован с пружинным ботинком 1.5.2.ОТНОСИТЕЛЬНАЯ ЛЕГКОСТЬ
Решение 1
Если переменная необязательна, попробуйте обернуть ее следующим образом:
{{#variable}} {{.}} {{/variable}}
Решение 2
В качестве альтернативы, в весенней загрузке переопределите Усы. Компилятор
для глобального предоставления значения по умолчанию:
package com.hostingcompass.web; import com.samskivert.mustache.Mustache; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.mustache.MustacheEnvironmentCollector; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.core.env.Environment; @SpringBootApplication @ComponentScan({"com.mkyong"}) public class SpringBootWebApplication { public static void main(String[] args) { SpringApplication.run(SpringBootWebApplication.class, args); } //Override MustacheAutoConfiguration to support defaultValue("") @Bean public Mustache.Compiler mustacheCompiler(Mustache.TemplateLoader mustacheTemplateLoader, Environment environment) { MustacheEnvironmentCollector collector = new MustacheEnvironmentCollector(); collector.setEnvironment(environment); // default value Mustache.Compiler compiler = Mustache.compiler().defaultValue("") .withLoader(mustacheTemplateLoader) .withCollector(collector); return compiler; } }
Рекомендации
Оригинал: “https://mkyong.com/spring-boot/spring-boot-and-mustache-default-value/”