发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

如果走框架在同一页面里实现多个列表的分页查询

2008-01-06 22:17
赞助商链接

用Jdon的框架实现批量查询没有问题,只需要实现
public Model findModelByKey(HttpServletRequest request, Object key)

public PageIterator getPageIterator(HttpServletRequest request, int start,int count)
接口.
现在问题在于在一个页面需要实现多个列表的分页查询~~怎么实现呢?大家教教我啊~~

2008-01-06 22:58

楼主,框架的使用指南中有这方面的方法:
Jdon框架的批量查询一定是一个ModelListAction对应一个ModelListForm,这是一个比较固定的流程了。如果在当前这个批量查询页面中还要显示其他Model的批量查询,也就是两个或多个Model的批量查询在同一个Jsp页面中显示,在这种情况有上述两个方案选择。
第一个方案前提是你必须使用Struts+Tiles架构,使用Tiles可以将页面划分成任意块,这样多个批量查询在页面任何位置以任何方式组合显示,完全灵活,缺点是多加入Tiles概念。
在一般小型应用中,我们只需采取第二方案,将多个批量查询的Action的struts-config.xml配置进行首尾连接既可,这种方式类似是按照Jsp页面先上后下的顺序串联的。
例如:threadPrevNexListForm和messageListForm是两个批量查询的ModelListForm,那么struts-config.xml配置如下:
<action path="/message/messageList"
type="com.jdon.jivejdon.presentation.action.ThreadPrevNexListAction"
name="threadPrevNexListForm" scope="request"
validate="false">
<forward name="success" path="/message/messageListBody.shtml"/>
</action>

<action path="/message/messageListBody"
type="com.jdon.jivejdon.presentation.action.MessageListAction"
name="messageListForm" scope="request"
validate="false">
<forward name="success" path="/message/messageList.jsp"/>
</action>
这样,当url调用/message/messageList.shtml时,最后导出/message/messageList.jsp这个页面,在messageList.jsp中可以访问threadPrevNexListForm和messageListForm两个ActionForm了。
上述组件构造方法可应用在复杂的Master-Details编程中,将Master看成一个对象Model,Details是一系列子Model的集合。

2008-01-06 23:56

谢谢了,其实我刚 刚 也 想到了,一个action转向另一个action,不知道这样效率高吗?

2008-01-07 15:58

action串联效率性能都没有问题,相当于sevlet转发。

还有另外一种方法:使用tiles,只要在struts-defs.xml中定义:
<definition name=".hotkeys" path="/query/hotKeys.shtml?method=hotkeys">
</definition>

然后在jsp页面中使用:
热点TAG:<tiles:insert definition=".hotkeys"></tiles:insert>

就可以在当前Jsp中任何地方嵌入另外一个Action和它的Jsp

action串联和tiles属于两种不同的页面组合,可根据需要选择。
action串联适合这些action都是和主要和业务有关的动作,

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com