易居住房10(“个人中心”--账户密码设置+收藏房源+列表页分页)

在“易居住房9”的基础上进行增加或修改代码
将“newhouse.jsp”重命名为“houses.jsp”
“pages”中添加“Collect.java”
在这里插入图片描述
“pages”中添加账户密码设置相关–“psdsetting.jsp";我的收藏房源相关–“favorite.jsp”
在这里插入图片描述

账户密码设置
“IUserDao.java”增加代码

    void updatePS(UserInfo userInfo);

“IUserService.java”增加代码

    void updatePS(UserInfo userInfo);

“UserService.java”增加代码

	@Override
    public void updatePS(UserInfo userInfo) {
        userDao.updatePS(userInfo);
    }

“UserController.java”增加代码

	@RequestMapping("upps.do")
    @ResponseBody
    public String upps(HttpSession session,String oldpassword,String password ){
        UserInfo user= (UserInfo) session.getAttribute("user");
        JSONObject jsonObject = new JSONObject();
        if(!user.getPassword().equals(oldpassword)){
            jsonObject.put("result",1);
        }else {
            user.setPassword(password);
            userService.updatePS(user);
            session.setAttribute("user",user);
            jsonObject.put("result",2);
        }
        return jsonObject.toString();
    }

“UserInfoMapper.xml”增加代码

<update id="updatePS" parameterType="com.yiju.bean.UserInfo">
        update tb_user set password=#{password} where user_id=#{userId}
    </update>

“psdsetting.jsp”代码如下

<%--
  Created by IntelliJ IDEA.
  User: 36353
  Date: 2019-07-05
  Time: 15:12
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<html>
<head>
    <title>账号密码设置中心</title>
    <%--导入CSS文件--%>
    <link type="text/css" href="../css/css.css" rel="stylesheet" />

    <%--导入JS文件--%>
    <script src="../js/jquery-2.1.1.min.js"></script>
</head>
<body>
<%--加入头部--%>
<jsp:include page="../pages/basehead.jsp"></jsp:include>

<!--Logo栏和手机号栏-->
<div class="logo-phone">
    <div class="width1190">

        <table align="center" width="100%">
            <tr>
                <td>
                    <h1 class="logo"><a href="../index.jsp"><img src="../images/logo.png" width="163" height="59" /></a></h1>
                </td>
                <td align="center">
                    <div class="phones"><strong>000-00000000</strong></div>
                    <div class="clears"></div>
                </td>
            </tr>
        </table>
    </div><!--width1190/-->
</div><!--logo-phone/-->
<!--Logo栏和手机号栏 END-->

<hr width="1190px">
<br>

<div class="content">
    <div class="width1080">
        <%--左侧导航栏--%>
        <div class="vip-left">
            <div class="vipNav">
                <h3 class="vipTitle">账户中心</h3>
                <dl>
                    <dt class="vipIcon3">账户设置</dt>
                    <dd>
                        <a href="${pageContext.request.contextPath}/pages/personal.jsp" >我的资料</a>
                        <a href="${pageContext.request.contextPath}/user/verify.do">实名认证</a>
                        <a href="${pageContext.request.contextPath}/pages/psdsetting.jsp" class="vipNavCur">账户密码设置</a>
                    </dd>
                    <dt class="vipIcon1">我的易居</dt>
                    <dd>
                        <a href="/user/favorite.do">我的收藏房源</a>
                    </dd>
                </dl>
            </div><!--vipNav/-->
        </div><!--vip-left/-->

        <%--右侧详情栏--%>
        <div class="vip-right">
            <h3 class="vipright-title">我的认证</h3>
            <br>
            <table class="grinfo">
                <tbody>
                <tr>
                    <th ><span class="red">*</span>原 密 码:</th>
                    <td width="600px">
                        <input class="inp inw" type="password" name="oldpassword" id="oldpassword" value="" placeholder="请输入原密码!">
                    </td>
                </tr>
                <tr>
                    <td><br></td>
                </tr>
                <tr>
                    <th><span class="red">*</span>新 密 码:</th>
                    <td>
                        <input class="inp inw" type="password" name="password" id="password" value="" placeholder="请输入新密码!">
                    </td>
                </tr>
                <tr>
                    <td><br></td>
                </tr>
                <tr>
                    <th><span class="red">*</span>确认新密码:</th>
                    <td>
                        <input class="inp inw" type="password" name="password2" id="password2" value="" placeholder="请再次输入新密码!">
                    </td>
                </tr>
                <tr>
                    <td><br></td>
                </tr>
                <tr>
                    <th>&nbsp;</th>
                    <td colspan="2">
                        <label class="butt" id="butt">
                            <input type="submit" class="member_mod_buttom" onclick="" value="确认修改" />
                        </label>
                    </td>
                </tr>
                </tbody>
            </table>
        </div><!--vip-right/-->
        <div class="clearfix"></div>
    </div><!--width1190/-->
</div><!--content/-->
<!--End  个人信息填写栏-->
<div>
    <br>
    <br>
</div>

<!--这是页脚-->
<jsp:include page="../pages/basefoot.jsp"></jsp:include>
<script type="text/javascript">
    $(function () {
        $(".member_mod_buttom").on("click",function () {
            var oldpassword=$("input[name=oldpassword]").val();
            var password=$("input[name=password]").val();
            var password2=$("input[name=password2]").val();
            if(oldpassword==""){
                alert("请输入旧密码");
                return;
            }
            if (password==""){
                alert("请输入新密码");
                return;
            }
            if (password2==""){
                alert("请输入确认密码");
                return;
            }
            if(password!=password2){
                alert("2次输入的密码不一样,请重新输入");
                return;
            }
            $.ajax({
                url:"${pageContext.request.contextPath}/user/upps.do",
                type:"post",
                dataType:"json",
                data:{
                    oldpassword:oldpassword,
                    password:password
                },
                success:function (data) {
                    window.location.href="personal.jsp";
                }
            })

        });
    })
</script>

</body>
</html>

我的收藏房源–收藏房源

“IUserDao.java”增加代码

    List<CollectView> getCollectViewByUser(int userId);
    void addColletc(Collect collect);
    Collect findByHouseType(@Param("userId") int userId,@Param("houseId") int houseId);

“IUserService.java”增加代码

    List<CollectView> getCollectViewByUser(int userId);
    void addColletc(Collect collect);
    Collect findByHouseType(int userId,int houseId);

“UserService.java”增加代码

	@Override
    public List<CollectView> getCollectViewByUser(int userId) {
        return userDao.getCollectViewByUser(userId);
    }

    @Override
    public void addColletc(Collect collect) {
        userDao.addColletc(collect);
    }

    @Override
    public Collect findByHouseType(int userId, int houseId) {
        return userDao.findByHouseType(userId,houseId);
    }

“UserController.java”增加代码

	@RequestMapping("favorite.do")
    public ModelAndView favorite(HttpSession session){
        UserInfo user= (UserInfo) session.getAttribute("user");
        ModelAndView modelAndView=new ModelAndView();
        List<CollectView> collects=userService.getCollectViewByUser(user.getUserId());
        modelAndView.addObject("collects",collects);
        modelAndView.setViewName("favorite");
        return modelAndView;
    }
    @RequestMapping("addToColletc.do")
    @ResponseBody
    public String addToColletc(HttpSession session,int houseId){
        UserInfo user= (UserInfo) session.getAttribute("user");
        JSONObject jsonObject = new JSONObject();
        Collect c=userService.findByHouseType(user.getUserId(),houseId);
        if (c!=null){
            jsonObject.put("result","0");
        } else {
            Collect collect=new Collect();
            collect.setUserId(user.getUserId());
            collect.setHouseId(houseId);
            collect.setUpdateTime(new Date().getTime());
            collect.setCreateTime(new Date().getTime());
            userService.addColletc(collect);
            jsonObject.put("result","1");
        }
        return jsonObject.toString();
    }

“UserInfoMapper.xml”增加代码

<select id="getCollectViewByUser" parameterType="int" resultType="com.yiju.pojo.CollectView">
        select * from tb_collect a,tb_house b where a.house_id=b.house_id and a.user_id=#{userId}
    </select>

    <insert id="addColletc" parameterType="com.yiju.bean.Collect">
        insert into tb_collect(user_id,house_id,create_time,update_time)
        value(#{userId},#{houseId},#{createTime},#{updateTime})
    </insert>

    <select id="findByHouseType" parameterType="int" resultType="com.yiju.bean.Collect">
        select * from tb_collect where user_id=#{userId} and house_id=#{houseId}
    </select>

“bean”中添加的“Collect.java”输入如下代码,并使用“Getter and Setter”和“toString”方法

	private int collId; //收藏记录的唯一标识ID
    private int userId; //用户ID
    private int houseId; //用户收藏的房源ID
    private int isDelete; //是否删除 0-未删除 1-已删除
    private long createTime; //创建时间
    private long updateTime; //更新时间

“favorite.jsp”代码如下

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%--
  Created by IntelliJ IDEA.
  User: 36353
  Date: 2019-07-05
  Time: 15:14
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>我的收藏夹</title>

    <%--导入CSS文件--%>
    <link type="text/css" href="../css/css.css" rel="stylesheet" />
    <link rel="stylesheet" type="text/css" href="../css/styleCollect.css" />
</head>
<body>
<%--加入头部--%>
<jsp:include page="../pages/basehead.jsp"></jsp:include>
<!--头部最上方的框-->

<!--Logo栏和手机号栏-->
<div class="logo-phone">
    <div class="width1190">

        <table align="center" width="100%">
            <tr>
                <td>
                    <h1 class="logo"><a href="../index.jsp"><img src="../images/logo.png" width="163" height="59" /></a></h1>
                </td>
                <td align="center">
                    <div class="phones"><strong>000-00000000</strong></div>
                    <div class="clears"></div>
                </td>
            </tr>
        </table>
    </div><!--width1190/-->
</div><!--logo-phone/-->
<!--Logo栏和手机号栏 END-->

<hr width="1190px">
<br>

<div class="content">
    <div class="width1080">
        <%--左侧导航栏--%>
        <div class="vip-left">
            <div class="vipNav">
                <h3 class="vipTitle">账户中心</h3>
                <dl>
                    <dt class="vipIcon3">账户设置</dt>
                    <dd>
                        <a href="${pageContext.request.contextPath}/pages/personal.jsp" >我的资料</a>
                        <a href="${pageContext.request.contextPath}/user/verify.do">实名认证</a>
                        <a href="${pageContext.request.contextPath}/pages/psdsetting.jsp">账户密码设置</a>
                    </dd>
                    <dt class="vipIcon1">我的易居</dt>
                    <dd>
                        <a href="/user/favorite.do" class="vipNavCur">我的收藏房源</a>
                    </dd>
                </dl>
            </div><!--vipNav/-->
        </div><!--vip-left/-->

        <%--右侧详情栏--%>
        <div class="vip-right">
            <h3 class="vipright-title">我的收藏</h3>
            <div class="AGrid-row  tool-package">
                <c:forEach var="collcetView" items="${collects}">
                <div class="col-sm-6 ">
                    <div class="tile center-layer">
                        <div class="layer-figure">
                            <a href="/house/todetails.do?house_id=${collcetView.houseId}">
                                <img src="http://image.cxhit.com/${collcetView.houseHeadimg}">
                            </a>
                        </div>
                        <h2 class="dev-list"> <a href="/house/todetails.do?houseId=${collcetView.houseId}">${collcetView.houseTitle}</a></h2>
                        <div class="layer-text">
                            <p class="dev-text">${collcetView.houseAddress}</p>
                            <div class="layer-btn">
                                <a href="/user/removeColl.do?coll_id=${collcetView.collId}">
                                    <p>移出收藏</p>
                                </a>
                            </div>
                        </div>
                    </div>
                </div>
                </c:forEach>

            </div>
        </div><!--vip-right/-->
        <div class="clearfix"></div>
    </div><!--width1190/-->
</div><!--content/-->
<!--End  个人信息填写栏-->

<!--这是页脚-->
<jsp:include page="../pages/basefoot.jsp"></jsp:include>

</body>
</html>

详情页分页
“houses.jsp”分页相关代码如下

<%--分页按钮--%>
                <div class="pull-right">
                    <ul class="pagination">
                        <li>
                            <a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=${pageInfo.list.get(0).houseType}&currentPage=${pageInfo.firstPage}"
                               aria-label="Previous">首页</a></li>
                        <li>
                            <a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=${pageInfo.list.get(0).houseType}&currentPage=${pageInfo.pageNum - 1}">上一页</a>
                        </li>
                        <c:forEach begin="1" end="${pageInfo.pages}" var="pageNum">
                            <li>
                                <a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=${pageInfo.list.get(0).houseType}&currentPage=${pageNum}">${pageNum}</a>
                            </li>
                        </c:forEach>
                        <li>
                            <a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=${pageInfo.list.get(0).houseType}&currentPage=${pageInfo.pageNum + 1}">下一页</a>
                        </li>
                        <li>
                            <a href="${pageContext.request.contextPath}/house/findHouse.do?houseType=${pageInfo.list.get(0).houseType}&currentPage=${pageInfo.lastPage}"
                               aria-label="Next">尾页</a></li>
                    </ul>
                </div><!--底部分页栏-->

页面效果
“账户密码设置”
登录成功后点击“账户密码设置”如下图
在这里插入图片描述
修改数据(输入正确的“原密码”,“确认密码”与“新密码”一致,否则跳出弹出框)后点击“确认修改”跳转到“我的资料”页面

收藏房源
点击首页如下图片中任一房子进入详情页
在这里插入图片描述
点击下图“关注房源”
在这里插入图片描述
页面提示收藏成功后进入“个人中心”–“我的收藏房源”,收藏信息如下
在这里插入图片描述


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值