(五)商城项目(用户搜索加分页实现)

1.搜索一般使用get提交方式,提交到用户列表的servlet

在这里插入图片描述

2.在用户列表servlet中接受表单提交的搜索值
获取关键字后放到分页查询的方法中

		 
//		分页获取对象
		ArrayList <LMONKEY_USER> list = LMONKEY_USERDao.selectAll(cpage,count,keywords);

3.然后在service的分页查询中做判断
传的keywords是否为空

try {
			
			if(keywords!=null){
				String sql = "select * from lmonkey_user where USER_NAME like ? limit ?,?";
				ps = con.prepareStatement(sql);
				ps.setString(1,'%'+keywords+'%');
				ps.setInt(2,(cpage-1)*count);
				ps.setInt(3,count);
			}else{
				String sql = "select* from lmonkey_user limit ?,? ";
				ps = con.prepareStatement(sql);
				ps.setInt(1,(cpage-1)*count);
				ps.setInt(2,count);
			}
			rs = ps.executeQuery();
			while(rs.next()){
				LMONKEY_USER user = new LMONKEY_USER(
						rs.getString("USER_ID"),
						rs.getString("USER_NAME"),
						rs.getString("USER_PASSWORD"),
						rs.getString("USER_SEX"),
						rs.getString("USER_BIRTHDARY"),
						rs.getString("USER_IDENITY_CODE"),
						rs.getString("USER_EMAIL"),
						rs.getString("USER_MODBILE"),
						rs.getString("USER_ADDRESS"),
						rs.getInt("USER_STATUS")
						);
				list.add(user);
				}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			Basedao.closeall(con, ps, rs);
		}
		return list;

使搜索框中的关键字停留在搜索框的方法
${param.keywords}

<input class="common-text" placeholder="关键字" name="keywords" value="${param.keywords}" id="" type="text">

这个时候会出现一个问题,当点击下一页或其他按钮时,又会回到“全部的用户列表”

原因:根据关键字搜索的结果集,点击上下一页时,这个时候会根据上下一页等按钮的提交地址,重新执行一次全局搜索,根剧关键词搜索的结果集会被掩盖。

解决办法:
1.在用户列表的servlet中加个判断

		
//		判断是否有关键词
		if(keywords!=null){
			request.setAttribute("selectkeywords", "&keywords="+keywords);
		}

然后在把&keywords="+keywords含有关键字部分加到按钮的访问地址后面

 <a href="/MonkeyShop4/manage/admin_douserselect?cp=1${selectkeywords}">首页</a>
                         <a href="/MonkeyShop4/manage/admin_douserselect?cp=${cpage-1<1?1:cpage-1}${selectkeywords}">上一页</a>
                         <a href="/MonkeyShop4/manage/admin_douserselect?cp=${cpage+1>tpage?tpage:cpage+1}${selectkeywords}">下一页</a>
                         <a href="/MonkeyShop4/manage/admin_douserselect?cp=${tpage}${selectkeywords}">尾页</a>

这样做的目的

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值