楼主,框架的使用指南中有这方面的方法: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的集合。