Fre*_*ies 1 enums spring jsp spring-mvc
我使用的是Spring 3,Hibernate和JSP.我的用户实体的字段性别为Enum类型.当我在表单中显示此字段时,我希望将选项本地化.问题是:有没有办法让我的实体使用的所有枚举在显示时进行本地化?
假设我们有以下枚举,我们需要对它进行本地化
package com.foo.enums;
public enum Color {
RED, GREEN, BLUE;
}
Run Code Online (Sandbox Code Playgroud)
在消息文件(例如messages_de.properties)中,必须定义以下代码
colors.RED=rot
colors.GREEN=grün
colors.BLUE=blau
Run Code Online (Sandbox Code Playgroud)
最后,jsp视图应该如下所示
<c:forEach items="${colors}" var="color">
<c:set value="colors.${color }" var="colorMessage" />
<spring:message code="${colorMessage }"/>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
此外,您可以直接在枚举中定义消息代码,如下所示
package com.scriptico.blog.sw.enums;
public enum Color {
RED("colors.RED"), GREEN("colors.GREEN"), BLUE("colors.BLUE");
private String messageCode;
private Color(final String messageCode) {
this.messageCode = messageCode;
}
public String getMessageCode() {
return messageCode;
}
}
Run Code Online (Sandbox Code Playgroud)
然后只在消息标记中使用messageCode
<c:forEach items="${colors}" var="color">
<spring:message code="${color.messageCode }"/>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
944 次 |
| 最近记录: |