精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-14
lococode 写道 to:dengyin2000
关于标题所说的给Grid增加操作一列的问题,lz做法是一种方法,但是每个不同的grid都要buildDriverBeanModel一下,是否太复杂了?我们的做法是,每个页面有需要的话,会有一个form类,这里可以在Bean中的一个property,因为我们一开始就把hiernate实体类和页面需要的对象分开的。所以不存在污染bean的问题,而且这样更明确form类的功能。不过model.remove()还是需要用的。 关于Grid分页的实现,对于lz的实现方式,有几点不同意的地方:分页组件BussnissService 存在依赖的的关系,分页组件依赖hsql。 我的做法虽然让我自己现在还是不太满意,但是,至少,可以在一定程度上更加通用。 ^_^! 有没有必要多加一个Form对象。 GridDataSource当然需要关联invoke bussniss Service 方法。 你可以说说你是怎样做的。你说hsql不应该出现, 你当然可以把hsql放到service方法中。 当然如果很多domain的话, 那么就有许多findXXX的方法了。 |
|
返回顶楼 | |
发表时间:2007-09-20
dengyin2000 写道 lococode 写道 to:dengyin2000
关于标题所说的给Grid增加操作一列的问题,lz做法是一种方法,但是每个不同的grid都要buildDriverBeanModel一下,是否太复杂了?我们的做法是,每个页面有需要的话,会有一个form类,这里可以在Bean中的一个property,因为我们一开始就把hiernate实体类和页面需要的对象分开的。所以不存在污染bean的问题,而且这样更明确form类的功能。不过model.remove()还是需要用的。 关于Grid分页的实现,对于lz的实现方式,有几点不同意的地方:分页组件BussnissService 存在依赖的的关系,分页组件依赖hsql。 我的做法虽然让我自己现在还是不太满意,但是,至少,可以在一定程度上更加通用。 ^_^! 有没有必要多加一个Form对象。 GridDataSource当然需要关联invoke bussniss Service 方法。 你可以说说你是怎样做的。你说hsql不应该出现, 你当然可以把hsql放到service方法中。 当然如果很多domain的话, 那么就有许多findXXX的方法了。 1.一个Pager对象,典型如下: private List<T> elements; private int itemAmount; private int currentPageIndex; private int pageSize; public int getXXX ... public void setXXX ..... 2.一个GridSourceModel 接口,留个具体的业务操作实现,典型代码如下: //public Pager<T> getCurrentPager(); public Pager<T> getCurrentPager(int pageSize,int pageNo); //public void setCurrentPager(Pager<T> pager); 3.重新实现:GridDataSource 此中对象为 private final Pager<T> _pager; 而不是ListGridDataSource中的。 private final List _list; 4.contributeTypeCoercer 。。。。。 5.use: items = new GridSourceModel<XXXObject>() { public Pager<XXXObject> getCurrentPager(int pageSize, int pageNo) { Pagination<XXXObject1> pus = manager.findXXX(XXx,pageSize,pageNo); Pager<XXXObject> pager = getPager(pus);//Pagination -> Pager return pager; } }; |
|
返回顶楼 | |