电商模块开发-第八天

实现添加商品的功能:

  • 前端的请求:
<form name="articleform" class="form-horizontal" action="<c:url value="/list?method=addArticle&typeCode=${typeCode}&secondType=${secondType}&title=${title} "/>" method="post" enctype="multipart/form-data">
  • servlet的处理
public void addArticle() throws ParseException, IOException, ServletException {
     //接收前端传来的数据
        String title=request.getParameter("titleStr");
        String supplier=request.getParameter("supplier");
        String locality=request.getParameter("locality");
        String price=request.getParameter("price");
        String storage=request.getParameter("storage");
        String description=request.getParameter("description");
        String code=request.getParameter("code");
        String image=request.getParameter("image");
        String putAwayDate=request.getParameter("putAwayDate");
        //接受用户上传的图片
        try{
            //接收上传图片
            Part part=request.getPart("image");
            //获取项目路径中
            String sysPath=request.getSession().getServletContext().getRealPath("/resources/images/article");
            //为文件命名
            String file=UUID.randomUUID().toString();
            //需要拿到文件的格式
            String contentDisposition = part.getHeader("content-disposition");
            String suffix=contentDisposition.substring(contentDisposition.lastIndexOf("."),contentDisposition.length()-1);
            String fileName=file+suffix;
            //将其放在目录下
            part.write(sysPath+"/"+fileName);
            image=fileName;
        }catch (Exception e){
            e.printStackTrace();
        }
        ArticleType articleType=new ArticleType();
        articleType.setCode(code);
        Article article=new Article();
        article.setTitle(title);
        article.setSupplier(supplier);
        article.setLocality(locality);
        article.setPrice(Double.parseDouble(price));
        article.setStorage(Integer.parseInt(storage));
        article.setDescription(description);
        article.setArticleType(articleType);
        article.setImage(image);
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //转换日期显示的格式
        article.setPutAwayDate( simpleDateFormat.parse(putAwayDate));
        service1.add(article);
        request.setAttribute("tip","添加成功");
        getAll();
    }
  • 持久层和业务层的实现
<insert id="add">
        insert into ec_article (title,supplier,price,locality,putaway_date,image,description,type_code,create_date,discount) values
        (#{title},#{supplier},#{price},#{locality},#{putAwayDate},#{image},#{description},#{articleType.code},#{dateTime},#{discount})
    </insert>

//业务层
public void add(Article article) {
article.setDateTime(new Date());
articleDao.add(article);
}
 

 

posted @ 2019-10-29 09:49  斯坦尼夫拉夫斯基  阅读(158)  评论(0)    收藏  举报