Struts2通过模型驱动拿到封装对象,调用业务层将对象传递到持久层,持久层调用Hibernate模版将对象持久化到数据库。
持久层代码实现:
PageBean:封装分页查询属性
持久层:查询需要的数据传给业务层
业务层:调用持久层,封装PageBean传给web层,
web层:调用业务层,将PageBean放入值栈
前端:通过改变currPage改变当前页数,通过改变pageSize改变每页记录数,实现分页查询功能
Spring配置OpenSessionInView过滤器,在web层开启事务,web层的操作变成持久态,从而解决延迟加载问题。
1 topage函数
2 分页
<TR> <TD><SPAN id=pagelink> <DIV style="LINE-HEIGHT: 20px; HEIGHT: 20px; TEXT-ALIGN: right"> 共[<B><s:property value="totalCount"/></B>]条记录,[<B><s:property value="totalPage"/></B>]页 ,每页显示 <!-- 通过改变pageSize改变每页显示记录数 --> <select name="pageSize" onchange="to_page()"> <option value="3" <s:if test="pageSize==3">selected</s:if> >3</option> <option value="5" <s:if test="pageSize==5">selected</s:if>>5</option> <option value="10" <s:if test="pageSize==10">selected</s:if>>10</option> </select> 条 <!-- 如果currPage不等于1,则显示以下 --> <s:if test="currPage!=1"> [<A href="javascript:to_page(1)">首页</A>] [<A href="javascript:to_page(<s:property value="currPage-1"/>)">前一页</A>] </s:if> <!-- 通过a标签实现翻页跳转 --> <B> <s:iterator var="i" begin="1" end="totalPage"> <s:if test="#i == currPage"> <s:property value="#i"/> </s:if> <s:else> <a href="javascript:to_page(<s:property value="#i"/>)"><s:property value="#i"/></a> </s:else> </s:iterator> </B> <!-- 如果currPage不等于总页数,则显示下一页和尾页 --> <s:if test="currPage!=totalPage"> [<A href="javascript:to_page(<s:property value="currPage+1"/>)">后一页</A>] [<A href="javascript:to_page(<s:property value="totalPage"/>)">尾页</A>] 到 </s:if> <input type="text" size="3" id="page" name="currPage" /> 页 <input type="button" value="Go" onclick="to_page()"/> </DIV> </SPAN></TD> </TR>
延迟加载问题:字典表里面的
原文:https://www.cnblogs.com/ltfxy/p/10366078.html