В среде шаблона 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/”