• 查询参数的传递

header.html

$("#search-button").click(function () {//线路名称var rname = $("#search_input").val();var cid = getParameter("cid");// 跳转路径 http://localhost/travel/route_list.html?cid=5,拼接上rname=xxxlocation.href="http://localhost/travel/route_list.html?cid="+cid+"&rname="+rname;
});

route_list.html

var cid = getParameter("cid");//获取rname的参数值var rname = getParameter("rname");//判断rname如果不为null或者""if(rname){//url解码rname = window.decodeURIComponent(rname);}
  • 修改后台代码

Servlet

@WebServlet("/route/*")
public class RouteServlet extends BaseServlet {private RouteService routeService = new RouteServiceImpl();/*** 分页查询* @param request* @param response* @throws ServletException* @throws IOException*/public void pageQuery(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//1.接受参数String currentPageStr = request.getParameter("currentPage");String pageSizeStr = request.getParameter("pageSize");String cidStr = request.getParameter("cid");//接受rname 线路名称String rname = request.getParameter("rname");rname = new String(rname.getBytes("iso-8859-1"),"utf-8");int cid = 0;//类别id//2.处理参数if(cidStr != null && cidStr.length() > 0){cid = Integer.parseInt(cidStr);}int currentPage = 0;//当前页码,如果不传递,则默认为第一页if(currentPageStr != null && currentPageStr.length() > 0){currentPage = Integer.parseInt(currentPageStr);}else{currentPage = 1;}int pageSize = 0;//每页显示条数,如果不传递,默认每页显示5条记录if(pageSizeStr != null && pageSizeStr.length() > 0){pageSize = Integer.parseInt(pageSizeStr);}else{pageSize = 5;}//3. 调用service查询PageBean对象PageBean<Route> pb = routeService.pageQuery(cid, currentPage, pageSize,rname);//4. 将pageBean对象序列化为json,返回writeValue(pb,response);}}

Service

public PageBean<Route> pageQuery(int cid, int currentPage, int pageSize,String rname ) {//封装PageBeanPageBean<Route> pb = new PageBean<Route>();//设置当前页码pb.setCurrentPage(currentPage);//设置每页显示条数pb.setPageSize(pageSize);//设置总记录数int totalCount = routeDao.findTotalCount(cid,rname);pb.setTotalCount(totalCount);//设置当前页显示的数据集合int start = (currentPage - 1) * pageSize;//开始的记录数List<Route> list = routeDao.findByPage(cid,start,pageSize,rname);pb.setList(list);//设置总页数 = 总记录数/每页显示条数int totalPage = totalCount % pageSize == 0 ? totalCount / pageSize :(totalCount / pageSize) + 1 ;pb.setTotalPage(totalPage);return pb;

Dao

@Override
public int findTotalCount(int cid,String rname) {//String sql = "select count(*) from tab_route where cid = ?";//1.定义sql模板String sql = "select count(*) from tab_route where 1=1 ";StringBuilder sb = new StringBuilder(sql);List params = new ArrayList();//条件们//2.判断参数是否有值if(cid != 0){sb.append( " and cid = ? ");params.add(cid);//添加?对应的值}if(rname != null && rname.length() > 0){sb.append(" and rname like ? ");params.add("%"+rname+"%");}sql = sb.toString();return template.queryForObject(sql,Integer.class,params.toArray());
}@Override
public List<Route> findByPage(int cid, int start, int pageSize,String rname) {//String sql = "select * from tab_route where cid = ? and rname like ?  limit ? , ?";String sql = " select * from tab_route where 1 = 1 ";//1.定义sql模板StringBuilder sb = new StringBuilder(sql);List params = new ArrayList();//条件们//2.判断参数是否有值if(cid != 0){sb.append( " and cid = ? ");params.add(cid);//添加?对应的值}if(rname != null && rname.length() > 0){sb.append(" and rname like ? ");params.add("%"+rname+"%");}sb.append(" limit ? , ? ");//分页条件sql = sb.toString();params.add(start);params.add(pageSize);return template.query(sql,new BeanPropertyRowMapper<Route>(Route.class),params.toArray());

Day64 Web开发6 旅游线路查询相关推荐

  1. JavaWeb黑马旅游网-学习笔记07【旅游线路查询】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  2. Day66 Web开发7 旅游详情页面

    Servlet /*** 根据id查询一个旅游线路的详细信息* @param request* @param response* @throws ServletException* @throws I ...

  3. 微信公众号开发(公交线路查询-JAVA

    一.Dom4j的使用    在介绍公交线路开发之前,先简单介绍下Dom4j的使用,因为公交线路查询引用的是爱帮公交api,调用结果为xml格式文件,故用到了Dom4j这个包,当然还有其他的包来读取xm ...

  4. 07 旅游线路查询功能实现

    功能预览 实现 1.查询参数的传递 在header.html中,设置按钮ID并绑定单击事件 //为搜索按钮绑定单击事件,获取搜索输入框的内容$("#search_button"). ...

  5. day27旅游线路查询线路详情

    12旅游线路名称查询 12.1查询参数的传递 在header.html中 在route_list.html 12.2修改后台代码 Dao 疑惑点1: StringBuilder sb = new St ...

  6. 黑马旅游网学习笔记之旅游线路查询(七)

    概述 (一)参数传递 (二)后台代码 (三)前台代码 (一)参数传递 (二)后台代码 第一步,加上rname字段 然后分三种情况: 第一种,直接在首页查询 只有rname 没有cid 第二种,进去之后 ...

  7. 我发现了一个黑马旅游网旅游线路查询的bug

    2020.5.5第一次编写  项目背景 有三种方式展示数据: 只通过category的cid属性来显示数据,也即是点击分类显示相应数据. 只通过查询(他对应变量为rname)来显示数据,也即是在首页直 ...

  8. 迷你旅游网——旅游线路用名称查询以及查看详情(完成查询条件不确定性的定义模板方式解决...)

    一. 即将完成的工作 线路名称查询(模糊查询) 查看线路详情 二.线路名称查询(模糊查询) 1.在之前的线路分页展示代码上修改部分代码来完成查询功能 查询参数的传递,类别id:cid,线路名称:rna ...

  9. JavaWeb黑马旅游网-学习笔记09【旅游线路收藏】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

最新文章

  1. 科技部公布2017年独角兽名单,来看看有哪些人工智能企业?
  2. Matlab调用函数实现CIC滤波器
  3. 支付宝sdk 支付订单查询失败
  4. 【普及组模拟赛】游戏
  5. 码神日志N0.1|专场邀请:深度解析音视频技术(内有福利哦~)
  6. boost::gil::ImageConcept用法的测试程序
  7. 轻量级ORM框架——第二篇:Dapper中的一些复杂操作和inner join应该注意的坑
  8. lynx---CentOS终端访问IP
  9. java调用c so动态库_jni 调用C动态库dll/so
  10. c语言技术课第一次作业
  11. 【转】javascript Object使用Array的方法
  12. 南航里程每年清空吗_年末提醒| 除了换机票,那些即将清零的航空里程还有什么用...
  13. window10 1060 caffe 安装
  14. Ubuntu鼠标一直闪烁,win10鼠标正常
  15. 通过ip能查服务器型号,通过ip地址查服务器归属
  16. 创建签名文件jks 乱码
  17. 手持终端无法启动有以下原因
  18. 面试官:项目中最大的风险是什么?
  19. fstream写入文件失败
  20. 专题导读:政府治理大数据

热门文章

  1. 传智黑马java基础学习——day25
  2. 【机器学习】9种回归算法及实例总结,建议学习收藏
  3. 【CET4四级英语】【单词】英语四级高频词汇(5)
  4. 【Python实战】--词云制作
  5. java客户信息管理系统_JavaWeb客户信息管理系统.doc
  6. 淘宝搜索排序算法分析
  7. 网上邻居无法访问本机及打印机之解…
  8. Vmware虚拟机共享主机网络
  9. 在一个html页面加载另一个html页面
  10. Python数据特征分析_01(MOOC学习时长分析)