如何将JavaBean值转换为网页/表示值?

如何将JavaBean值转换为网页/表示值?,java,jsp,localization,enums,javabeans,Java,Jsp,Localization,Enums,Javabeans,在原生MVC web项目(不能使用Hibernate或Spring)中,提供“转换表”将bean变量中的值修改为表示友好格式的最佳方式是什么?为每个变量提供定制的“web Getter方法”似乎是糟糕的OO实践 例如:一个名为status的变量可以在peristence层中用值“a”、“I”、“D”或“U”填充,因此它以这种方式存储在bean中。但在页面上,这四个值分别转换为“活动”、“非活动”、“已删除”和“未定义”。在哪里以及如何存放这些翻译知识 (另外,Java webdev社区是否对这种

在原生MVC web项目(不能使用Hibernate或Spring)中,提供“转换表”将bean变量中的值修改为表示友好格式的最佳方式是什么?为每个变量提供定制的“web Getter方法”似乎是糟糕的OO实践

例如:一个名为status的变量可以在peristence层中用值“a”、“I”、“D”或“U”填充,因此它以这种方式存储在bean中。但在页面上,这四个值分别转换为“活动”、“非活动”、“已删除”和“未定义”。在哪里以及如何存放这些翻译知识


(另外,Java webdev社区是否对这种“翻译表”有一个特定的名称?我在这里搜索已回答的解决方案时,词汇量有点不足。)

实现这一点的一种常见方法是拥有一个表示级bean和一个域数据bean。将代码放入表示bean中,将值从域bean(您已经拥有的域bean)复制到可显示的值。类似地,在提交表单时,也可以在表示bean中转换回代码。(假设您可以在网站上为该数据组件创建


如果转换代码变得复杂,或者在整个应用程序中各种数据对象的转换之间存在显著的共性,那么您可以将转换提取到一组类,这些类的工作是转换特定类型的数据,或者您可以拥有一些实用程序类,这些实用程序类具有执行公共转换的方法转换,它们被表示bean用来使转换代码小型化和紧凑化。

为此,通常使用资源包,这些资源包可以通过标准标记访问,甚至可以通过编程方式使用JSTL标记在封面下使用的资源包

例如
com.example.i18n
包中的
status.properties
文件

status.A = Active
status.I = Inactive
status.D = Deleted
status.U = Undefined
with(前提是您有一个bean,其属性为
${bean}


地位:


地位:
另见: