- 2.banner的显示
参考菜单功能的流程,新建:
1). 商品对象(banner这里显示的也是商品信息)
Commodity.class
package com.qyuz.model; import java.io.Serializable; public class Commodity implements Serializable{ /** * */ private static final long serialVersionUID = 1L; String id; String name; String descr; String picurl; Double price; Integer stock; Integer categoryId; String url1; String url2; String url3; public Commodity(){ } public Commodity(String name, String descr, String picurl, Double price, Integer stock, Integer categoryId, int type) { this.name = name; this.descr = descr; this.picurl = picurl; this.price = price; this.stock = stock; this.categoryId = categoryId; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescr() { return descr; } public void setDescr(String descr) { this.descr = descr; } public String getPicurl() { return picurl; } public void setPicurl(String picurl) { this.picurl = picurl; } public Double getPrice() { return price; } public void setPrice(Double price) { this.price = price; } public Integer getStock() { return stock; } public void setStock(Integer stock) { this.stock = stock; } public Integer getCategoryId() { return categoryId; } public void setCategoryId(Integer categoryId) { this.categoryId = categoryId; } public static long getSerialversionuid() { return serialVersionUID; } public String getUrl1() { return url1; } public void setUrl1(String url1) { this.url1 = url1; } public String getUrl2() { return url2; } public void setUrl2(String url2) { this.url2 = url2; } public String getUrl3() { return url3; } public void setUrl3(String url3) { this.url3 = url3; } public String toString(){ return " Commodity[id="+this.id +",name=" +this.name +",desc="+this. descr +",picurl="+this. picurl +",price="+this. price +",stock="+this. stock +",categoryId="+this.categoryId +"]"; } }
2).Dao层
ComDao.class
package com.qyuz.dao; import java.util.List; import java.util.Map; import com.qyuz.model.Commodity; public interface ComDao { /** * * @return */ public List<Commodity> getComs(Map map); }
ComDaoMapper.xml:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.qyuz.dao.ComDao"> <select id="getComs" parameterType="Map" resultType="com.qyuz.model.Commodity" > select * from commodity where 1=1 <if test="id != null"> and id=${id} </if> <if test="categoryId != null"> and category_id=${categoryId} </if> <if test="start != null and end != null"> limit ${start},${end} </if> </select> </mapper>
3). Service层
IComService.class
package com.qyuz.service; import java.util.List; import com.qyuz.model.Commodity; public interface IComService { /** * * @return */ public List<Commodity> getBannerComs(); }
ComServiceImpl.class
package com.qyuz.service.impl; import java.util.HashMap; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.qyuz.dao.ComDao; import com.qyuz.model.Commodity; import com.qyuz.service.IComService; @Service public class ComServiceImpl implements IComService { @Autowired ComDao dao; @Override public List<Commodity> getBannerComs() { // TODO Auto-generated method stub HashMap map = new HashMap(); map.put("categoryId", 1); return dao.getComs(map); } }
4). controller层
在HomeController.class添加,
属性:
@Autowired IComService comService;
index函数里添加:
List<Commodity> banners = comService.getBannerComs(); map.put("banners", banners);
5).view层
将home.jsp中banner部分的代码替换为:
<div class="banner"> <div class="col-sm-3 banner-mat"> <img class="img-responsive" src="images/ba1.jpg" alt=""> </div> <div class="col-sm-6 matter-banner"> <div class="slider"> <div class="callbacks_container"> <ul class="rslides" id="slider"> <c:forEach items="${banners}" var="b" varStatus="vs"> <li><img src="${b.picurl}" alt=""></li> </c:forEach> </ul> </div> </div> </div> <div class="col-sm-3 banner-mat"> <img class="img-responsive" src="images/ba1.jpg" alt=""> </div> <div class="clearfix"></div> </div>
- 3.最新商品列表
public List<Commodity> getRecentComs();ComServiceImpl.class添加函数:
@Override public List<Commodity> getRecentComs() { HashMap map = new HashMap(); map.put("categoryId", 4); return dao.getComs(map); }2).controller层,HomeController.class的index函数里添加:
List<Commodity> recents = comService.getRecentComs(); map.put("recents", recents);3)view层,将home.jsp中content的内容替换如下:
<div class="content"> <div class="container"> <div class="content-top"> <h1>Recent Products</h1> <div class="content-top1"> <c:forEach items="${recents}" var="r"> <div class="col-md-3 col-md2"> <div class="col-md1 simpleCart_shelfItem"> <a href="com/detail.do?id=${r.id}"> <img class="img-responsive" src="${r.picurl}" alt="" /> </a> <h3> <a href="com/detail.do?id=${r.id}">${r.name}</a> </h3> <div class="price"> <h5 class="item_price">$${r.price}</h5> <a href="javascript:void(0)" onclick="addToCart('${r.id}')" class="item_add">Add To Cart</a> <div class="clearfix"></div> </div> </div> </div> </c:forEach> <div class="clearfix"></div> </div> </div> </div> </div>4).测试,http://localhost:8080/myecom/index.do。 至此,电商首页的跟查询相关的主要工作完成。