我不确定使用struts 2作为我的MVC在这个3层体系结构中用于模型的类。
使用案例:使用给定名称检索目的地(城市)。
架构:Struts 2 MVC (Action) -> Service -> DestinationDAO
Struts 2:View <---> Action
(此操作调用服务层)
DestinationDAO使用hibernate并具有函数getDestination(String name)
以从数据库中检索目标。
我的问题是:action类需要有一个属性,我可以用它来显示jsp的目标信息。我应该使用我的目的地POJO(我使用的是休眠)还是应该是一个不同的对象?
我很感激有关此主题的任何建议/链接。
答案 0 :(得分:1)
虽然你可以使用你的目的地POJO作为你的视图的DO,但我不会推荐这种方法,有时候它会产生难以调试的不良行为。其中一个用例是自动触发Hibernate在模型(POJO)中进行某些更改时查询。
创建一组DTO,其中包含呈现视图所需的属性,并将这些DTO用作MVC的模型对象(Struts2)。 在调用服务层时,您可以将值从DTO复制到POJO,这将使层更加分离并且易于更改。