有一个Java bean,它有日期设置器/ getter。日期来自DB并在bean中设置。当我从bean获取日期时,我需要一个特定的演示文稿(yyyy-MM-dd
而不是dd-MM-yyyy
)。
我希望通过在bean的getter中编写这部分代码来简化servlet和相关类中的逻辑。
这是否合适?提前谢谢。
答案 0 :(得分:2)
如果您100%确定您始终需要以这种方式格式化的日期,您可以在bean映射数据库的过程中按照您希望的方式对其进行格式化。
但是,你不应该
如果您正在寻找最佳实践,那么您应该记住,可重用代码不应该依赖于实现,并且getter应该只是检索数据。
这就是我建议从getter返回Date
并将逻辑移到外面的原因。
实际上,如果你不想重写代码并且你总是使用相同的格式,我会建议这样的解决方案:
YourMappingClass.java
...
public Date getDate() {
return this.date;
}
...
public String getFormattedDate() {
Date dateToFormat = this.getDate();
// format date here and return formatted date
}
...
这样你就可以保留getter的逻辑,同时在map bean中提供一个可重用的方法,不再重复它之外的代码。