1. 程式人生 > >展示全部商品功能的實現

展示全部商品功能的實現

Jsp框架:

一、1.商品縮圖2.商品價格,庫存,種類;3.顯示有貨或無貨狀態;

二、展示頁面分為三塊,將商品縮圖劃分為20%;商品價格,庫存,種類寬度為40%,有貨無貨佔40%

三、因為使用到<c:forEach標籤,引入jstl包和字首:

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

程式碼:

<table width="100%" style="text-align:center">

<c:forEach items

="${list}" var="prod">

<tr>

<td width="20%">

<a href="${pageContext.request.contextPath}/ProdInfoServlet?id=${prod.id}">

<img src="${pageContext.request.contextPath}/ImgServlet?id=${prod.id}&type=s"/>

</a>

</td>

<td width

="40%">

${prod.name}<br/>

${prod.price}<br/>

${prod.category}<br/>

</td>

<td width="40%">

<--當商品庫存大於0時,有貨,小於等於0時,無貨-->

 

<c:if test="${prod.pnum>0 }"><font color="blue">有貨</font></c:if>

<c:if test="

${prod.pnum<=0 }"><font color="red">無貨</font></c:if>

</td>

</tr>

</c:forEach>

</table>

Servlet相關操作:

ProdInfoServlet

//獲取ProdService

ProdService service = (ProdService) BasicFactory.getFactory().getInstance("ProdService");  

//獲取傳入的商品id

String id=request.getParameter("id");

//獲取商品

Prod prod =service.findProdById(Integer.valueOf(id));

//如果商品是空的,則返回,沒有物件

if(prod==null){

throw new RuntimeException("當前沒有物件");

}else{

//將找到的商品放到請求中

request.setAttribute("prod", prod);

//獲取請求後,轉發到檔案詳細頁面

request.getRequestDispatcher("/prodInfo.jsp").forward(request, response);

}

 

Dao相關操作:

public Prod findProdById(Integer id) {

//定義sql語句

String sql = "select * from products where id=?";

//獲取連線

QueryRunner runner = new QueryRunner(DaoUtils.getSource());

try {

Prod prod=runner.query(sql, new BeanHandler<Prod>(Prod.class),id);

return prod;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

throw new RuntimeException(e);

}

 

}