java - 如何将 java bean 值转换为网页/演示文稿值?

标签 java jsp localization enums javabeans

在 native MVC Web 项目(不能使用 Hibernate 或 Spring)中提供“转换表”以将 bean 变量中的值修改为易于演示的格式的最佳方法是什么?为每个变量提供自定义的“Web Getter 方法”似乎是糟糕的 OO 实践。

例如:名为 status 的变量可以在持久层中填充值“A”、“I”、“D”或“U”,因此它存储在 bean 中那样。但在页面上,这四个值分别转换为“Activity ”、“非 Activity ”、“已删除”和“未定义”。在哪里以及如何存储这些翻译知识?

(另外,Java webdev 社区是否有这种“翻译表”的具体名称?在此处搜索已回答的解决方案时,我有点词汇不足。)

最佳答案

为此,通常使用可以通过标准 JSTL 访问的资源包。 <fmt:xxx> 标签,甚至以编程方式使用 ResourceBundle API JSTL 标签在幕后使用它。

例如status.properties文件在 com.example.i18n

status.A = Active
status.I = Inactive
status.D = Deleted
status.U = Undefined

with(前提是您有一个此属性为 ${bean} 的 bean)

<fmt:bundle basename="com.example.i18n.status">
    Status: <fmt:message key="status.${bean.status}" />
</fmt:bundle>

<fmt:bundle basename="com.example.i18n.status" prefix="status.">
    Status: <fmt:message key="${bean.status}" />
</fmt:bundle>

另请参阅:

关于java - 如何将 java bean 值转换为网页/演示文稿值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14282946/

相关文章:

java - 将@Produces 与@Qualifier 一起使用

java - 将 daos Autowiring 到服务中,并将该服务 Autowiring 到 Junit 测试类中

java - 从 Spring MVC 返回警告和错误?

ios - iTunesConnect 在提交审核时不显示其他语言

ios - 使用选择器 View 快速手动选择语言

java - Spring MVC 中的sample_en.jsp 和sample_fr.jsp

java - 添加类类型参数而不破坏客户端代码

audio - 在 Java 中交替播放 2 个不同的频率

ajax - 使用Ajax处理表单时,模型addAttribute()无法加载到相应的JSP标签

java - Apache/Tomcat服务器中显示汉字