门户首页功能

一.新书上架
1.Dao方法(根据时间降序)

public List<Book> news(Book book, PageBean pageBean) throws Exception {
        // TODO Auto-generated method stub
        String sql="select * from t_easyui_book where state=2 order by deployTime desc limit 0,8";
        
        return super.executeQuery(sql, Book.class, pageBean);
    }
2.子控制器

public String news(HttpServletRequest req, HttpServletResponse resp) {
            try {
                
                List<Book> lists = bookDao.news(book, null);
                
                ResponseUtil.writeJson(resp, lists);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return "findBook";
        }
3.①.前端返回的是jsonArr数组
②.页面要显示html样式

 
    $(function () {
        
        //   上架新书
        $.ajax({
            url: '${pageContext.request.contextPath}/book.action?methodName=news',
            dataType: "json",
            data: "rows=18",
            success: function (data) {
                // data = eval(data);
                // $(".c-category").next().append("444");
              
                console.log(data);
                single_item($(".c-category:eq(0)"), data, 0, "");
 
                // debugger;
            }
        });

③.当json数组0-5产生一个新的row 6-11产生第二列row
④.最终拼成一个完整的html串
所以使用了递归(自己调自己,一定有递归的结束条件)

        function single_item($node, data, level, htmlstr) {
            // debugger;
            var start = level * 6;
            htmlstr += '<div class="row">';
 
            for (var i = 0; i < 6; i++) {
                if (data.length == start) {
                    break;
                }
                htmlstr += '<div class="col-md-2">'
                htmlstr += '<figure class="figure">';
                htmlstr += '<img src="' + data[start].image + '" class="figure-img img-fluid rounded" alt="...">';
                htmlstr += '<figcaption class="figure-caption">';
                htmlstr += '<p>' + data[start].name + '</p>';
                htmlstr += '<i class="text-danger">' + data[start].price + '</i>';
                htmlstr += '</figcaption>';
                htmlstr += '</figure>';
                htmlstr += '</div>';
                start++;
            }
            htmlstr += '</div>';
 
            level++;
            if (start < data.length) {
                single_item($node, data, level, htmlstr);
            } else {
                $node.after(htmlstr);
            }
        }
二.热门书籍
1.Dao方法(根据销量降序)

    public List<Book> hots(Book book, PageBean pageBean) throws Exception {
        // TODO Auto-generated method stub
        String sql="select * from t_easyui_book where state=2 order by sales desc ";
        
        return super.executeQuery(sql, Book.class, pageBean);
    }
2.子控制器

    public String hots(HttpServletRequest req, HttpServletResponse resp) {
            try {
                
                List<Book> lists = bookDao.hots(book, null);
                
                ResponseUtil.writeJson(resp, lists);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return "findBook";
        }
3.前端渲染

     $.ajax({
            url: '${pageContext.request.contextPath}/book.action?methodName=hots',
            dataType: "json",
            data: "rows=18",
            success: function (data) {
                // data = eval(data);
                // $(".c-category").next().append("444");
                console.log(data);
                single_item($(".c-category:eq(1)"), data, 0, "");
 
                // debugger;
            }
        });
4.index.jsp整体代码

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
<html>
<head>
    <meta charset="utf-8">
    <title>网上书城首页</title>
    <link href="https://cdn.bootcss.com/twitter-bootstrap/4.4.1/css/bootstrap.css" rel="stylesheet">
    <link href="${pageContext.request.contextPath}/static/css/fg.css" rel="stylesheet">
    <script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.js"></script>
    <script src="${pageContext.request.contextPath}/static/js/index.js"></script>
</head>
<body>
<input type="hidden" id="ctx" value="${pageContext.request.contextPath}">
<div class="container">
    <div class="row head">
        <div class="col-md-12">
            <i>
                您好,欢迎来到飞凡网上书店!
            </i>
            <b>
                <a type="button" class="text-primary" href="${pageContext.request.contextPath}/login.jsp">登录</a> |
                <a type="button" class="text-primary" href="${pageContext.request.contextPath}/register.jsp">注册</a> |
                <a type="button" class="text-primary" href="${pageContext.request.contextPath}/shopping.action?methodName=list">我的购物车</a> |
                <a type="button" class="text-primary" href="${pageContext.request.contextPath}/">网站首页</a>
            </b>
        </div>
    </div>
    <!-- 横幅搜索栏 start -->
    <div class="row banner">
        <div class="img1"></div>
        <div class="col-md-12">
            <form class="form" action="${pageContext.request.contextPath}/book.action?methodName=findByName" method="post">
                <%--<input type="hidden" name="methodName" value="findByName">--%>
                <input type="text" name="name" value="" id="input" class="search">
                <input type="submit" class="btn btn-primary" value="查询">
            </form>
        </div>
    </div>
    <!-- 横幅搜索栏 end -->
    <!-- 页面主体内容 start -->
    <div class="row content">
        <div class="col-md-3 float-left c-left">
            <ul class="list-group">
                <li class="list-group-item">书籍分类</li>
                <%--<li class="list-group-item">999999999999999999999999999999999999</li>--%>
            </ul>
        </div>
        <div class="col-md-9 float-right c-right">
            <div class="row">
                <div class="col-md-12">
                    <img class="img-fluid" src="${pageContext.request.contextPath}/static/img/banner.png">
                </div>
            </div>
            <div class="row c-category">
                <div class="col-md-12 text-left">
                    <img src="${pageContext.request.contextPath}/static/img/title_bj.png">
                    <h3>新书上架</h3>
                </div>
            </div>
 
            <%--<div class="row">--%>
            <%--<div class="col-md-2">--%>
            <%--<figure class="figure">--%>
            <%--<img src="imgs/1.png" class="figure-img img-fluid rounded" alt="...">--%>
            <%--<figcaption class="figure-caption">--%>
            <%--<p>小说名字</p>--%>
            <%--<i class="text-danger">价格</i>--%>
            <%--</figcaption>--%>
            <%--</figure>--%>
            <%--</div>--%>
            <%--</div>--%>
 
            <div class="row c-category">
                <div class="col-md-12 text-left">
                    <img src="${pageContext.request.contextPath}/static/img/title_bj.png">
                    <h3>热销图书</h3>
                </div>
            </div>
 
            <%--<div class="row">--%>
                <%--<div class="col-md-2">--%>
                    <%--<figure class="figure">--%>
                        <%--<img src="imgs/1.png" class="figure-img img-fluid rounded" alt="...">--%>
                        <%--<figcaption class="figure-caption">--%>
                            <%--<p>小说名字</p>--%>
                            <%--<i class="text-danger">价格</i>--%>
                        <%--</figcaption>--%>
                    <%--</figure>--%>
                <%--</div>--%>
            <%--</div>--%>
 
        </div>
    </div>
    <!-- 页面主体内容 end -->
    <!-- 网站版权 start -->
    <div class="row text-center footer">
        <div class="col-md-12">
            Copyright ©2014 飞凡教育,版权所有
        </div>
    </div>
    <!-- 网站版权 end -->
</div>
 
<script type="text/javascript">
    function searchByType(cid){
        location.href='${pageContext.request.contextPath}/book.action?methodName=findByType&cid='+cid;
    };
 
    $(function () {
        
        //   上架新书
        $.ajax({
            url: '${pageContext.request.contextPath}/book.action?methodName=news',
            dataType: "json",
            data: "rows=18",
            success: function (data) {
                // data = eval(data);
                // $(".c-category").next().append("444");
              
                console.log(data);
                single_item($(".c-category:eq(0)"), data, 0, "");
 
                // debugger;
            }
        });
 
        //   热销书籍
        $.ajax({
            url: '${pageContext.request.contextPath}/book.action?methodName=hots',
            dataType: "json",
            data: "rows=18",
            success: function (data) {
                // data = eval(data);
                // $(".c-category").next().append("444");
                console.log(data);
                single_item($(".c-category:eq(1)"), data, 0, "");
 
                // debugger;
            }
        });
 
        function single_item($node, data, level, htmlstr) {
            // debugger;
            var start = level * 6;
            htmlstr += '<div class="row">';
 
            for (var i = 0; i < 6; i++) {
                if (data.length == start) {
                    break;
                }
                htmlstr += '<div class="col-md-2">'
                htmlstr += '<figure class="figure">';
                htmlstr += '<img src="' + data[start].image + '" class="figure-img img-fluid rounded" alt="...">';
                htmlstr += '<figcaption class="figure-caption">';
                htmlstr += '<p>' + data[start].name + '</p>';
                htmlstr += '<i class="text-danger">' + data[start].price + '</i>';
                htmlstr += '</figcaption>';
                htmlstr += '</figure>';
                htmlstr += '</div>';
                start++;
            }
            htmlstr += '</div>';
 
            level++;
            if (start < data.length) {
                single_item($node, data, level, htmlstr);
            } else {
                $node.after(htmlstr);
            }
        }
    })
 
 
</script>
</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目涉及技术:    1、前端:jsp、css、javascript、jQuery(js框架)、jQueryEasyUi(基于jQuery的前端框架)+BootStrap(前端框架)、dTree插件、富文本编辑器等 2、后台:SpringMvc、Spring、Hibernate(持久层框架)、JPA、MD5加密、Spring Boot、 log4J日志框架、jstl、jstl自定义分页标签等3、项目管理工具:Maven4、数据库:Mysql5、服务器:Tomcat项目开发涉及功能: 1、项目以及数据库搭建2、用户异步登录、退出以及记住用户信息3、自定义分页标签实现(24种样式随意切换)4、拦截器功能实现5、整合前端框架 EasyUi以及Bootstrap6、用户模块信息添加、修改、删除、多条件分页查询、激活、预览、用户账号异步校验、异步加载部门以及职位信息7、角色模块添加、删除、修改、分页查询、角色绑定以及解绑用户、角色绑定以及解绑操作8、Spring事务处理机制讲解9、模块管理增加、修改、删除、分页查询、整合dTree树形插件10、项目实现权限控制11、公告模块整合富文本编辑器12、密码进行MD5加密13、项目改版成Spring Boot实现14、代码机器人使用等等功能其他实战项目:java项目实战之电商系统全套(前台和后台)(java毕业设计ssm框架项目)https://edu.csdn.net/course/detail/25771 java项目之oa办公管理系统(java毕业设计)https://edu.csdn.net/course/detail/23008 java项目之hrm人事管理项目(java毕业设计)https://edu.csdn.net/course/detail/23007 JavaWeb项目实战之点餐系统前台https://edu.csdn.net/course/detail/20543 JavaWeb项目实战之点餐系统后台https://edu.csdn.net/course/detail/19572 JavaWeb项目实战之宿舍管理系统(Java毕业设计含源码)https://edu.csdn.net/course/detail/26721 JavaWeb项目实战之点餐系统全套(前台和后台)https://edu.csdn.net/course/detail/20610 java项目实战之电子商城后台(java毕业设计SSM框架项目)https://edu.csdn.net/course/detail/25770 java美妆商城项目|在线购书系统(java毕业设计项目ssm版)https://edu.csdn.net/course/detail/23989 系统学习课程:JavaSE基础全套视频(环境搭建 面向对象 正则表达式 IO流 多线程 网络编程 java10https://edu.csdn.net/course/detail/26941 Java Web从入门到电商项目实战挑战万元高薪(javaweb教程)https://edu.csdn.net/course/detail/25976其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值