<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.List" %><%--
Created by IntelliJ IDEA.
User: HuaWei
Date: 2024/5/17
Time: 11:50
To change this template use File | Settings | File Templates.
--%>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="swpu.Goods" %>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>VIP专享价格</title>
<style>
body{
width:500px;
margin:0 auto;
}
td{
text-align: center;
width:150px;
height:20px;
border:1px solid black;
}
#one{
float: right;
}
#five{
text-align: center;
font-size: larger;
}
</style>
</head>
<body>
<form>
<table cellspacing="0">
<tr>
<td colspan="6" id="five">
VIP专享价格
<a href="addGoods.jsp"><input type="button" value="添加" id="one"></a>
</td>
</tr>
<%
List<Goods> list= (List<Goods>) request.getAttribute("list");
%>
<tr>
<td>
日期
</td>
<td>
商品名字
</td>
<td>
商品原价(元)
</td>
<td>
VIP价格(元)
</td>
<td>
操作
</td>
</tr>
<c:forEach var="goods" items="<%=list%>">
<tr>
<td>${goods.date}</td>
<td>${goods.goodsname}</td>
<td>${goods.old_price}</td>
<td>${goods.vip_price}</td>
<td><a href="editGoods.jsp?date=${goods.date}&goodsname=${goods.goodsname}&old_price=${goods.old_price}&vip_price= ${goods.vip_price}">修改</a>
|<a href="javascript:del(${goods.goodsname})">删除</a></td>
</tr>
</c:forEach>
</table>
</form>
<script>
function del(gn) {
if (confirm("确定要删除商品 " + gn + " 吗?")) {
location.href = "/Works/del?goodsname=" + encodeURIComponent(gn);
}
}
</script>
</body>
</html>
这是goods.jsp
package service;
import dao.goodsDao;
import impl.GoodsDaoImpl;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.SQLException;
@WebServlet(name = "delGoodsServlet",urlPatterns = "/del")
public class delGoodsServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
String gn=request.getParameter("goodsname");
goodsDao dao=new GoodsDaoImpl();
try {
dao.delGoods(gn);
response.sendRedirect("/Works/goods");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
这是delGoodsServlet
public int delGoods(String goodsname) throws SQLException {
int ret = 0;
String url = "jdbc:mysql://localhost:3306/jsp.db?serverTimezone=GMT%2B8";
String name = "root";
String password = "root";
try (Connection conn = DriverManager.getConnection(url, name, password);
PreparedStatement pst = conn.prepareStatement("delete from goods where goodsname=?")) {
pst.setString(1, goodsname);
ret = pst.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
throw e;
}
return ret;
}
这是delGoods方法
为什么del函数无参的时候可以弹出来,有参的时候就弹不出来呢?之前传参用EL都可以的。