在这种情况下,没有Web配置,没有Spring MVC,没有Spring Boot等。仅仅是纯应用程序,我想使用Thymeleaf传输静态html资源,并以String形式获取内容。
但是,在这种情况下,如何为百里香叶设置国际消息?所以我可以在静态html文件中使用
<h1 th:text="#{messageA}">AAAAA</h1>
答案 0 :(得分:1)
您只需要定义一个消息源。例如,在我的spring配置中,我有一个main方法:
@Configuration
@ComponentScan(basePackages = {"spring.cli.config"})
public class Main {
public static void main(String... args) throws Exception {
ConfigurableApplicationContext spring = new SpringApplicationBuilder(Main.class)
.web(NONE)
.profiles("default")
.run(args);
TemplateEngine engine = (TemplateEngine) spring.getBean("engine");
Context context = new Context();
System.out.println(engine.process("template", context));
}
}
和一个配置文件(在@ComponentScan(basePackages = {"spring.cli.config"})
中扫描):
@Configuration
public class Thymeleaf {
@Bean
public MessageSource messageSource() throws Exception {
ReloadableResourceBundleMessageSource res = new ReloadableResourceBundleMessageSource();
res.setBasename("file:src/main/resources/messages");
return res;
}
}
我的项目src/main/resources/messages.properties
中有一个文件。
# messages.properties
messageA=Hello I am message A
在html中:
<h1 th:text="#{messageA}">AAAAA</h1>
解析为:
<div>Hello I am message A</div>