Tmall_Fore_review

最后一part,讲的是评价

效果图:

通过点击评价按钮,来到路径/forereview,导致ForeServlet.review()方法被调用
1. ForeServlet.review()
1.1 获取参数oid
1.2 根据oid获取订单对象o
1.3 为订单对象填充订单项
1.4 获取第一个订单项对应的产品,因为在评价页面需要显示一个产品图片,那么就使用这第一个产品的图片了
1.5 获取这个产品的评价集合
1.6 为产品设置评价数量和销量
1.7 把产品,订单和评价集合放在request上
1.8 服务端跳转到 review.jsp
2. review.jsp
与 register.jsp 相仿,review.jsp也包含了header.jsptop.jspsimpleSearch.jsp, 
footer.jsp 等公共页面。
中间是产品业务页面 reviewPage.jsp
3. reviewPage.jsp
在reviewPage.jsp中显示产品图片,产品标题,价格,产品销量,产品评价数量,以及订单信息等。 
同时还显示出了该产品所有的评价,但是默认是隐藏的

public String review(HttpServletRequest request, HttpServletResponse response, Page page) {
    int oid = Integer.parseInt(request.getParameter("oid"));
    Order o = orderDAO.get(oid);
    orderItemDAO.fill(o);
    Product p = o.getOrderItems().get(0).getProduct();
    List<Review> reviews = reviewDAO.list(p.getId());
    productDAO.setSaleAndReviewNumber(p);
    request.setAttribute("p", p);
    request.setAttribute("o", o);
    request.setAttribute("reviews", reviews);
    return "review.jsp";       
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>
 
<%@include file="include/header.jsp"%>
<%@include file="include/top.jsp"%>
<%@include file="include/simpleSearch.jsp"%>
<%@include file="include/cart/reviewPage.jsp"%>
<%@include file="include/footer.jsp"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" isELIgnored="false"%>
     
<div class="reviewDiv">
    <div class="reviewProductInfoDiv">
        <div class="reviewProductInfoImg"><img width="400px" height="400px" src="img/productSingle/${p.firstProductImage.id}.jpg"></div>
        <div class="reviewProductInfoRightDiv">
            <div class="reviewProductInfoRightText">
                ${p.name}
            </div>
            <table class="reviewProductInfoTable">
                <tr>
                    <td width="75px">价格:</td>
                    <td><span class="reviewProductInfoTablePrice">¥<fmt:formatNumber type="number" value="${p.orignalPrice}" minFractionDigits="2"/></span> 元 </td>
                </tr>
                <tr>
                    <td>配送</td>
                    <td>快递:  0.00</td>
                </tr>
                <tr>
                    <td>月销量:</td>
                    <td><span class="reviewProductInfoTableSellNumber">${p.saleCount}</span> 件</td>
                </tr>
            </table>
             
            <div class="reviewProductInfoRightBelowDiv">
                <span class="reviewProductInfoRightBelowImg"><img1 src="img/site/reviewLight.png"></span>
                <span class="reviewProductInfoRightBelowText" >现在查看的是 您所购买商品的信息
于<fmt:formatDate value="${o.createDate}" pattern="yyyy年MM月dd"/>下单购买了此商品 </span>
             
            </div>
        </div>
        <div style="clear:both"></div>
    </div>
    <div class="reviewStasticsDiv">
        <div class="reviewStasticsLeft">
                <div class="reviewStasticsLeftTop"></div>
                <div class="reviewStasticsLeftContent">累计评价 <span class="reviewStasticsNumber"> ${p.reviewCount}</span></div>
                <div class="reviewStasticsLeftFoot"></div>
        </div>
        <div class="reviewStasticsRight">
            <div class="reviewStasticsRightEmpty"></div>
            <div class="reviewStasticsFoot"></div>
        </div>
    </div>       
     
    <c:if test="${param.showonly==true}">
    <div class="reviewDivlistReviews">
        <c:forEach items="${reviews}" var="r">
            <div class="reviewDivlistReviewsEach">
                <div class="reviewDate"><fmt:formatDate value="${r.createDate}" pattern="yyyy-MM-dd"/></div>
                <div class="reviewContent">${r.content}</div>
                <div class="reviewUserInfo pull-right">${r.user.anonymousName}<span class="reviewUserInfoAnonymous">(匿名)</span></div>
            </div>
        </c:forEach>
    </div>
    </c:if>
     
    <c:if test="${param.showonly!=true}">
        <div class="makeReviewDiv">
        <form method="post" action="foredoreview">
            <div class="makeReviewText">其他买家,需要你的建议哦!</div>
            <table class="makeReviewTable">
                <tr>
                    <td class="makeReviewTableFirstTD">评价商品</td>
                    <td><textarea name="content"></textarea></td>
                </tr>
            </table>
            <div class="makeReviewButtonDiv">
                <input type="hidden" name="oid" value="${o.id}">
                <input type="hidden" name="pid" value="${p.id}">
                <button type="submit">提交评价</button>
            </div>
        </form>
        </div>   
    </c:if>
 
</div>

 

 

 

 

 

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值