17.12.09,web学习第二十一天,还有一年,努力吧青年商品条件查询和分页查询
来源:互联网 发布:前端页面优化方案 编辑:程序博客网 时间:2024/06/05 13:16
条件查询+分页查询
1. 有一种错误:classNotfoundException可能是项目某文件未发布到tomact中去。软件问题
2. jQ的attr和prop有一点区别在于像selected这个选中为true的必须用prop。
<td colspan="2">January</td> 指定表格的跨列属性
3. align 属性规定 div 元素中的内容的水平对齐方式 <div align=”center”> 居中对齐内容</div>
4. 按钮提交用submit
如何全域查找?Ctrol + h
5. sql模糊查询?SELECT 字段 FROM 表 WHERE 某字段 Like 条件
SQL提供了四种匹配模式,% :表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。这是其一。
如何将被选中的表单的数据的回显(select input=text[这个特别 谨记] )?
Select回显思想:
使用jq将被提交的那个选中的option的value去当前的options中找到并使用prop(“”,true)
window.onload=function(){
$("#jbCategory option[value='${serchPro.cid}']").prop("selected",true);
}
输入框的回显:直接在value默认显示位置使用el表达式去之前提交表单被封装的对象中拿 数据显示。
<td>商品名称:<input type="text" name="proName" value="${sjb.proName }">
6. 分页查询结果操作细节:
后台操作细节:
Vo包pageBean的参数:
Private String Count; //当前页数
Private String countPage; //当前页面显示的条数
Private String totalCount; //总条数
Private String totalPage; //总页数
Private List<T> productList = new ArrayList<T>(); //每页显示的数据{给泛型T用作工具类。}
使用scalarHandler查数据返回值类型为Long型(注意不是long型)再调用initValue()方法即可转为int类型。
Math.ceil(double); //向上取整 ceil天花板
Eclipse同一个文件切出两个屏:ctrol shift -和ctrol shift [
全域搜索:ctrol+h
分页时如何求总页数?Math.ceil(1.0*总条数/每页显示条数)得double类型再强转为int即可。
Sql 的limit查询语句?”select * from product ?,?”
Private List<T> productList = new ArrayList<T>(); //每页显示的 数据{给泛型T用作工具类意思是不限定这个泛型指定是谁,其他类型数据也可以用这个泛型。如果不指定它泛型split_pageBean但他内部的List<JB>指定了泛型,以后其他不同于JB类型数据操 作就不能使用这个类了,指定泛型<T>好处甚大。}
前台操作细节:
注意客户端请求服务器端时的数据均为字符串。
第一次访问网页时没有初始化第几页,需判断如果没有参数给出 默认访问第一页。
熟记jstl的另一个循环标签:
<c:forEach begin=”1” end=”x” var=””> </c:forEach>
使用jstl的if else判断显示当前页面的选中阴影效果。
<c:forEach begin="1" end="${product_list_play.page_number }" var="pp">
<c:if test="${product_list_play.current_page_number==pp }">
<li class="active"><a href="split_pages?current_page_number=${pp }">${pp }</a></li>
</c:if>
<c:if test="${product_list_play.current_page_number!=pp }">
<li><a href="split_pages?current_page_number=${pp }">${pp }</a></li>
</c:if>
</c:forEach>
使用jstl的if else判断上一页下一页(无)按钮可用?
<c:if test="${product_list_play.current_page_number==1 }"><li class="disabled"><a href="javascript:void(0)" aria-label="Previous"><spanaria-hidden="true">«</span></a></li></c:if><c:if test="${product_list_play.current_page_number!=1 }"><li "><a href="split_pages?current_page_number=${product_list_play.current_page_number-1 }" aria-label="Previous"><spanaria-hidden="true">«</span></a></li></c:if>
分页操作完整代码:后台处理:Web层:public class split_pages extends HttpServlet {// http://localhost:8080/loginCheck/split_pagesprivate int current_page_number; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// 模拟当前是第一页String parameter = request.getParameter("current_page_number");if (parameter == null) {current_page_number = 1;} else {int i = Integer.parseInt(parameter);current_page_number = i;}// 认为每页显示12条int current_page_play_number = 12;split_pageBean<JB> getpage = split_pageService.getpage(current_page_number, current_page_play_number);List<JB> list = getpage.getPage_data_list(); request.setAttribute("product_list_play", getpage);request.getRequestDispatcher("product_list.jsp").forward(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doGet(request, response);}}Service层:public class split_pageService { public static split_pageBean<JB> getpage(int current_page_number, int current_page_play_number) {split_pageBean<JB> pageBean = new split_pageBean<JB>();// 查询显示的数据集合int limit = (current_page_number - 1) * current_page_play_number;List<JB> data_list = select_Dao.page_data_list(limit, current_page_play_number);// 查询总条数int totalNumbers = select_Dao.totalNumbers();// 总页数=总条数除每页显示数据向上取整int ceil = (int) Math.ceil((1.0 * totalNumbers) / current_page_play_number);System.out.println(ceil);System.out.println(totalNumbers);System.out.println(current_page_number);// 当前页数 current_page_number// 当前页数显示个数 current_page_play_numberpageBean.setCurrent_page_number(current_page_number);pageBean.setCurrent_page_play_number(current_page_play_number);pageBean.setPage_data_list(data_list);pageBean.setPage_number(ceil);pageBean.setTotal_numbers(totalNumbers);// System.out.println(pageBean.getPage_number());// System.out.println(pageBean.getTotal_numbers());return pageBean;}}Dao层:public class select_Dao {private static int i;private static List<JB> list; // 查询总条数public static int totalNumbers() {ComboPooledDataSource cpds = new ComboPooledDataSource();QueryRunner qr = new QueryRunner(cpds);String sql = "select count(*) from product";try {Long query = (Long) qr.query(sql, new ScalarHandler());i = query.intValue();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return i;} // 查询分页的商品数据public static List<JB> page_data_list(int limit, int current_page_play_number) {System.out.println("dao层:" + limit + " " + current_page_play_number);ComboPooledDataSource cpds = new ComboPooledDataSource();QueryRunner qr = new QueryRunner(cpds);String sql = "select * from product limit ?,?";try {list = qr.query(sql, new BeanListHandler<JB>(JB.class), limit, current_page_play_number);} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}return list;}}封装的Bean对象:public class split_pageBean<T> {private int page_number;// 总页数private int current_page_number;// 当前页数1private int current_page_play_number;// 当前页显示条数1private int total_numbers;// 总条数1private List<T> page_data_list;// 每页显示的数据1前台处理:<c:forEach items="${product_list_play.page_data_list }" var="pro"><div class="col-md-2"><a href="product_info.htm"> <img src="${pro.pimage }"width="170" height="170" style="display: inline-block;"></a><p><a href="product_info.html" style='color: green'>${pro.pname }</a></p><p><font color="#FF0000">商城价:¥${pro.shop_price }</font></p></div></c:forEach> </div><div style="width: 380px; margin: 0 auto; margin-top: 50px;"><ul class="pagination" style="text-align: center; margin-top: 10px;"> <c:if test="${product_list_play.current_page_number==1 }"><li class="disabled"><a href="javascript:void(0)"aria-label="Previous"> <span aria-hidden="true">«</span></a></li></c:if><c:if test="${product_list_play.current_page_number!=1 }"><li"><ahref="split_pages?current_page_number=${product_list_play.current_page_number-1 }"aria-label="Previous"> <span aria-hidden="true">«</span></a></li></c:if> <c:forEach begin="1" end="${product_list_play.page_number }" var="pp"><c:if test="${product_list_play.current_page_number==pp }"><li class="active"><ahref="split_pages?current_page_number=${pp }">${pp }</a></li></c:if> <c:if test="${product_list_play.current_page_number!=pp }"><li><a href="split_pages?current_page_number=${pp }">${pp }</a></li></c:if></c:forEach> <!-- <li><a href="#" aria-label="Next"> <span aria-hidden="true">»</span></a></li> --> <c:iftest="${product_list_play.page_number==product_list_play.current_page_number}"><li class="disabled"><a href="javascript:void(0)"aria-label="Next"> <span aria-hidden="true">» </span></a></li></c:if><c:iftest="${product_list_play.page_number!=product_list_play.current_page_number}"><li><ahref="split_pages?current_page_number=${product_list_play.current_page_number+1 }"aria-label="Next"> <span aria-hidden="true">» </span></a></li></c:if></ul></div>
- 17.12.09,web学习第二十一天,还有一年,努力吧青年商品条件查询和分页查询
- 17.12.11,web学习第二十三天,还有一年,努力吧青年Listener
- 17.12.19,web学习第二十九天,还有一年,努力吧青年ajax,cookie,分类分页显示
- 17.12.12,web学习第二十四天,还有一年,努力吧青年过滤器Filter
- 17.12.14,web学习第二十六天,还有一年,努力吧青年 Linux入门
- 17.12.01,web学习第十六天,还有一年,努力吧青年cookie和session
- 17.12.04,web学习第十八天,还有一年,努力吧青年EL和JSTL
- 17.11.11,web学习第一天,还有一年,努力吧青年
- 17.11.24,web学习第十一天,还有一年,努力吧青年
- 17.12.22,web学习第三十一天,还有一年,努力吧青年 商城项目第四天订单提交在线支付
- 17.11.12,web学习第二天,还有一年,努力吧青年!
- 17.11.26,web学习第十二天,还有一年,努力吧青年HTTp协议和TomCat服务器
- 17.12.03,web学习第十七天,还有一年,努力吧青年JSP
- 17.12.05,web学习第十九天,还有一年,努力吧青年事务mysql
- 17.12.06,web学习第二十天,还有一年,努力吧青年商城增删改查记忆
- 17.12.10,web学习第二十二天,还有一年,努力吧青年Ajax
- 17.12.13,web学习第二十五天,还有一年,努力吧青年动态代理
- 17.12.16,web学习第二十七天,还有一年,努力吧青年redis
- 思科-Vlan(虚拟局域网)基本配置命令--Smallbaal的博客
- yii 利用gii生成代码,出现404错误
- mysql数据库查询比较慢的进程id
- Java核心技术 第9版 学习笔记二
- 小米笔记本13.3(Intel+mx150独显双显卡)+deepin15.5+cuda9.0安装教程
- 17.12.09,web学习第二十一天,还有一年,努力吧青年商品条件查询和分页查询
- WEB缓存_缓存过期策略
- Java7特性中,abstract class和interface有什么区别
- 申请谷歌云服务器,运行Jupyter
- IDEA spring-boot jpa jsp 框架搭建(一)
- storm ack机制
- Android-数据库
- BZOJ[4756][Usaco2017 Jan]Promotion Counting 线段树合并
- SSM SpringMVC 批量删除