关于分页处理:
2个参数:offset:当前页面是从哪一条记录开始的
pagesize:每一页显示几条记录
相应的新的SQL语句为select *from t_article limit ?,?
设置的offset和pagesize的缺省值分别为0和5,当无法从页面获取时将使用缺省值。
分页处理计算时需要得到:
当前数据库里的总记录数:select count(*) from t_article,记为total
当前浏览的是第几页 => currentPage = offset / pagesize + 1
总共的页数=> maxPage = total / pagesize,此时需要判断,
当存在余数时,maxPage = total / pagesize + 1
将以上三项传至JSP页面输出显示,代替此前的静态数据,并用于后续的显示计算。
点选具体浏览那一页时要向后台提交的数据:首页:offset = 0
前页:写一个判断,避免出现页码为负数的情况;
offset=${(currentPage - 2 lt 0 ? 0 : (currentPage - 2 ) ) * pagesize }
具体点选的页码(i):当点选的即为当前浏览的页面时,将页码标红;当点选的不是当前浏览的页面时,
offset = $ { ( i - 1 ) * pagesize
下页:写一个判断,避免出现下一页的页码超过了最大页码;
offset = ${ ( currentPage ge maxPage ?(maxPage - 1) : currentPage ) * pagesize }
尾页:offset = ${ maxPage - 1 } * pagesize
设置每一页最大显示多少行,即由管理员自行改变pagesize,通过下拉选择框选择想要的数字传pagesize至后台即可。
EL表达式比较:eq:等于(equal)
ne:不等于(not equal)
gt:大于(greater than)
Lt:小于(less than)
Ge:大于等于
关于简单的条件模糊查询:
SQL语句为:sql = "select * from t_article where title like '%"+title+"%' limit ?,?";
一些注意的点:为了对应查询条件,需要向后台传递title以便分页处理的正常显示。
小问题解决记录:
1.查询时显示乱码: 依旧是在相应Servlet中加入request.setCharacterEncoding("UTF-8");即可解决。
2.一个遗留的问题,之前查询时没有在页面显示创建时间等数据,今天尝试加入但显示效果不佳,后来引入了达成效果。
个人使用的具体格式为:pattern="yyyy-MM-dd HH:mm"
学习参考笔记:https://www.cnblogs.com/penghongwei/p/3409573.html
还有就是导入这个标签时需要手动定义一些东西,之前弄过但忘了,今天又复习了一下...
具体的参考是:https://blog.csdn.net/qq_34288630/article/details/80591095