步骤 2 : 模仿和排错 步骤 3 : 页面截图 步骤 4 : PropertyValueServlet 步骤 5 : web.xml 步骤 6 : editProductValue.jsp 步骤 7 : 编辑功能讲解 步骤 8 : 修改功能讲解 步骤 9 : 删除,增加功能不需要
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
package tmall.servlet;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import tmall.bean.Category;
import tmall.bean.Product;
import tmall.bean.Property;
import tmall.bean.PropertyValue;
import tmall.util.Page;
public class ProductServlet extends BaseBackServlet {
public String add(HttpServletRequest request, HttpServletResponse response, Page page) {
int cid = Integer.parseInt(request.getParameter("cid"));
Category c = categoryDAO.get(cid);
String name= request.getParameter("name");
String subTitle= request.getParameter("subTitle");
float orignalPrice = Float.parseFloat(request.getParameter("orignalPrice"));
float promotePrice = Float.parseFloat(request.getParameter("promotePrice"));
int stock = Integer.parseInt(request.getParameter("stock"));
Product p = new Product();
p.setCategory(c);
p.setName(name);
p.setSubTitle(subTitle);
p.setOrignalPrice(orignalPrice);
p.setPromotePrice(promotePrice);
p.setStock(stock);
productDAO.add(p);
return "@admin_product_list?cid="+cid;
}
public String delete(HttpServletRequest request, HttpServletResponse response, Page page) {
int id = Integer.parseInt(request.getParameter("id"));
Product p = productDAO.get(id);
productDAO.delete(id);
return "@admin_product_list?cid="+p.getCategory().getId();
}
public String edit(HttpServletRequest request, HttpServletResponse response, Page page) {
int id = Integer.parseInt(request.getParameter("id"));
Product p = productDAO.get(id);
request.setAttribute("p", p);
return "admin/editProduct.jsp";
}
public String editPropertyValue(HttpServletRequest request, HttpServletResponse response, Page page) {
int id = Integer.parseInt(request.getParameter("id"));
Product p = productDAO.get(id);
request.setAttribute("p", p);
propertyValueDAO.init(p);
List<PropertyValue> pvs = propertyValueDAO.list(p.getId());
request.setAttribute("pvs", pvs);
return "admin/editProductValue.jsp";
}
public String updatePropertyValue(HttpServletRequest request, HttpServletResponse response, Page page) {
int pvid = Integer.parseInt(request.getParameter("pvid"));
String value = request.getParameter("value");
PropertyValue pv =propertyValueDAO.get(pvid);
pv.setValue(value);
propertyValueDAO.update(pv);
return "%success";
}
public String update(HttpServletRequest request, HttpServletResponse response, Page page) {
int cid = Integer.parseInt(request.getParameter("cid"));
Category c = categoryDAO.get(cid);
int id = Integer.parseInt(request.getParameter("id"));
int stock = Integer.parseInt(request.getParameter("stock"));
float orignalPrice = Float.parseFloat(request.getParameter("orignalPrice"));
float promotePrice = Float.parseFloat(request.getParameter("promotePrice"));
String subTitle= request.getParameter("subTitle");
String name= request.getParameter("name");
Product p = new Product();
p.setName(name);
p.setSubTitle(subTitle);
p.setOrignalPrice(orignalPrice);
p.setPromotePrice(promotePrice);
p.setStock(stock);
p.setId(id);
p.setCategory(c);
productDAO.update(p);
return "@admin_product_list?cid="+p.getCategory().getId();
}
public String list(HttpServletRequest request, HttpServletResponse response, Page page) {
int cid = Integer.parseInt(request.getParameter("cid"));
Category c = categoryDAO.get(cid);
List<Product> ps = productDAO.list(cid, page.getStart(),page.getCount());
int total = productDAO.getTotal(cid);
page.setTotal(total);
page.setParam("&cid="+c.getId());
request.setAttribute("ps", ps);
request.setAttribute("c", c);
request.setAttribute("page", page);
return "admin/listProduct.jsp";
}
}
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@include file="../include/admin/adminHeader.jsp"%>
<%@include file="../include/admin/adminNavigator.jsp"%>
<title>编辑产品属性值</title>
<script>
$(function() {
$("input.pvValue").keyup(function(){
var value = $(this).val();
var page = "admin_product_updatePropertyValue";
var pvid = $(this).attr("pvid");
var parentSpan = $(this).parent("span");
parentSpan.css("border","1px solid yellow");
$.post(
page,
{"value":value,"pvid":pvid},
function(result){
if("success"==result)
parentSpan.css("border","1px solid green");
else
parentSpan.css("border","1px solid red");
}
);
});
});
</script>
<div class="workingArea">
<ol class="breadcrumb">
<li><a href="admin_category_list">所有分类</a></li>
<li><a href="admin_product_list?cid=${p.category.id}">${p.category.name}</a></li>
<li class="active">${p.name}</li>
<li class="active">编辑产品属性</li>
</ol>
<div class="editPVDiv">
<c:forEach items="${pvs}" var="pv">
<div class="eachPV">
<span class="pvName" >${pv.property.name}</span>
<span class="pvValue"><input class="pvValue" pvid="${pv.id}" type="text" value="${pv.value}"></span>
</div>
</c:forEach>
<div style="clear:both"></div>
</div>
</div>
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
public String editPropertyValue(HttpServletRequest request, HttpServletResponse response, Page page) {
int id = Integer.parseInt(request.getParameter("id"));
Product p = productDAO.get(id);
request.setAttribute("p", p);
List<Property> pts= propertyDAO.list(p.getCategory().getId());
propertyValueDAO.init(p);
List<PropertyValue> pvs = propertyValueDAO.list(p.getId());
request.setAttribute("pvs", pvs);
return "admin/editProductValue.jsp";
}
<c:forEach items="${pvs}" var="pv">
<div class="eachPV">
<span class="pvName" >${pv.property.name}</span>
<span class="pvValue"><input class="pvValue" pvid="${pv.id}" type="text" value="${pv.value}"></span>
</div>
</c:forEach>
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
$("input.pvValue").keyup(function(){
var value = $(this).val();
var page = "admin_product_updatePropertyValue";
var pvid = $(this).attr("pvid");
var parentSpan = $(this).parent("span");
parentSpan.css("border","1px solid yellow");
$.post(
page,
{"value":value,"pvid":pvid},
function(result){
if("success"==result)
parentSpan.css("border","1px solid green");
else
parentSpan.css("border","1px solid red");
}
);
});
public String updatePropertyValue(HttpServletRequest request, HttpServletResponse response, Page page) {
int pvid = Integer.parseInt(request.getParameter("pvid"));
String value = request.getParameter("value");
PropertyValue pv =propertyValueDAO.get(pvid);
pv.setValue(value);
propertyValueDAO.update(pv);
return "%success";
}
增值内容,请先登录
完整的J2EE模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE一整套技术栈, 从无到有涵盖全部147个知识点,475个开发步骤, 充实J2EE项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
使用爬虫已经被系统记录,请勿使用爬虫,增大封号风险。 如果是误封 ,请联系站长,谢谢
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
问答区域
2021-07-27
关于外键约束
2 个答案
Pipi_pika 跳转到问题位置 答案时间:2021-11-11 项目运行起来 有买家购买产品评论之后,这时想删除产品 必须先删除product表作为外键的其他表:propertyvalue表,productimage表,orderitem表,review表里相应的数据。而订单项作为重要数据是不能删除的,所以导致产品也无法删除。我认为下架产品的方法 可能就是修改产品信息标注为下架。
能删除产品的契机就在加入该购物车/产生购买之前,这时可以删除产品(先删除它的propertyvalue和productimage)
how2j 跳转到问题位置 答案时间:2021-08-21 数据安全性和操作便利性之间只能二选一呢
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2020-12-29
请教下,在某个Category分类下,每个产品的各个property和propertyValue是怎么产生对应关系的,看不明白...
2020-02-06
请问步骤8的修改功能那里的ajax的判断返回值result是否为"success",那么"return success"这行代码是在写在哪个函数里的呢?
2019-12-13
输入框样式问题
2019-12-03
产品下面存在属性值,也可以直接删除,并在数据库中产生数据垃圾(属性值无法一同擦除)。
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 16 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|