似乎无法直接在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。
页面上我有什么想法可以做到这一点吗?
答案 0 :(得分:0)
不具体.jsp,但也许这可以启发你。 通常使用onclick事件进行模板化可以这样完成:
<td onclick="addToCart(row.item_code)"></td>
我不熟悉你的确切语法,但想法是调用一个函数并传递当前行的id。
然后你会有一个像这样的javascript函数:
function addToCart(id) {
//POST request using 'id'
}
希望这有帮助!
答案 1 :(得分:0)
使用按钮发出POST请求。为什么,你问?
因此,请将您的整个产品列表放在<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框架,以便您的网站在移动设备上运行。