如個把i18n 的参数從java 同 thymeleaf 表達出來
时间: 2024-10-07 10:03:47 浏览: 27
Java SpringMVC实现国际化整合案例分析(i18n)
国际化的 (Internationalization, i18n) 参数通常在Java中通过`MessageBundle`或者`ResourceBundle`来管理,而在Thymeleaf模板引擎中,你可以使用`th:text`属性来引用这些资源文件中的字符串。
在Java中,首先你需要创建一个`.properties`或`.xml`等类型的国际化资源文件,例如`messages.properties`:
```java
# messages.properties
greeting=Hello, {name}!
farewell=Goodbye, {name}!
```
然后在Java代码中加载这个资源:
```java
ResourceBundle bundle = ResourceBundle.getBundle("messages", LocaleContextHolder.getLocale());
String greetingMsg = bundle.getString("greeting");
```
在Thymeleaf模板中,你可以这样展示这些消息:
```html
<p th:text="${bundle['greeting']}" th:replace="${name}">Hello, World!</p>
```
这里`${name}`是一个占位符,会被实际传递给模板的变量替换。同样,`th:replace`标签用于包含变量值。
阅读全文