如何将项目添加到购物篮JSP中

时间:2015-02-26 17:10:29

标签: javascript html mysql jsp

似乎无法直接在Google / Youtube上找到有关如何执行此操作的良好指南。 基本上我有一个产品清单(代码):

<sql:query var="result">
select * from inventory;
</sql:query>

<table border="1" width="100%">
<tr>
<th>Code</th>
<th>Author</th>
<th>Description</th>
<th>Other field(Probs price)</th>
<th>Item Stock</th>
<th>Order Stock</th>
<th>Buy option </th>
</tr>

<c:forEach var = "row" items = "${result.rows}">
<tr>
<td><c:out value = "${row.item_code}"/></td>
<td><c:out value = "${row.item_author}"/></td>
<td><c:out value = "${row.item_description}"/></td>
<td><c:out value = "${row.item_price}"/></td>
<td><c:out value = "${row.item__stock_count}"/></td>
<td><c:out value = "${row.item_order_count}"/></td>
<td><a href="shoppingbasket.jsp">Order Now!</a></td>
</tr>
</c:forEach>
</table>
</div>  

布局如下:

代码作者说明价格物品股票买入股票买入期权

它连接到mySQL数据库。显然,所有这些标题都是信息。根据&#34;购买选项&#34;每行都有买。

我想要做的就是当我点击一行购买时。它将获取该特定行的项目代码,并将该项目发布在shoppingbasket.jsp。

页面上

我有什么想法可以做到这一点吗?

2 个答案:

答案 0 :(得分:0)

不具体.jsp,但也许这可以启发你。 通常使用onclick事件进行模板化可以这样完成:

<td onclick="addToCart(row.item_code)"></td>

我不熟悉你的确切语法,但想法是调用一个函数并传递当前行的id。

然后你会有一个像这样的javascript函数:

function addToCart(id) {
   //POST request using 'id'
}

希望这有帮助!

答案 1 :(得分:0)

使用按钮发出POST请求。为什么,你问?

  1. 无JavaScript工作
  2. 您希望将POST用于更改内容的请求
  3. 因此,请将您的整个产品列表放在<form>中,然后按下按钮(每个产品一个):

    <button name="btnAddToCart" value="<c:out value='${row.item_code}'/>">Add to Cart</button>

    您应该使用服务器端的模型 - 视图 - 控制器框架(如Spring MVC)。您可以使用这样的控制器RequestMapping接受按钮POST:

    @RequestMapping(value="/your-product-list-page", params={"btnAddToCart"})
    

    您的购物车需要一个会话范围的对象。

    虽然我们正在努力,但您应该使用<c:out value="${...}"/>来逃避,以尽量减少XSS的风险。您可能需要一个响应式CSS框架,以便您的网站在移动设备上运行。