1.创建品牌的业务bean,并单元测试

View Code

 1 package cnblogs.xiaoqiu.bean.product; 2  3 import java.io.Serializable; 4  5 import javax.persistence.Column; 6 import javax.persistence.Entity; 7 import javax.persistence.Id; 8 @Entity 9 public class Brand implements Serializable{10     private static final long serialVersionUID = -79226975589304722L;11     //品牌id12     private String id;13     //品牌名称14     private String name;15     //品牌logo图片路径(/images/brand/2008/12/12/xxxxxxx.jpg)16     private String imagePath;17     //品牌是否被删除的标识18     private boolean isVisible = true;19     20     public Brand(){}21     22     public Brand(String name, String imagePath) {23         this.name = name;24         this.imagePath = imagePath;25     }26     //采用uuid的方式,自己手工注入ID27     @Id @Column(length=36)28     public String getId() {29         return id;30     }31     public void setId(String id) {32         this.id = id;33     }34     @Column(length=40,nullable=false)35     public String getName() {36         return name;37     }38     public void setName(String name) {39         this.name = name;40     }41     @Column(length=80)42     public String getImagePath() {43         return imagePath;44     }45     public void setImagePath(String imagePath) {46         this.imagePath = imagePath;47     }48     @Column(nullable=false)49     public boolean isVisible() {50         return isVisible;51     }52     public void setVisible(boolean isVisible) {53         this.isVisible = isVisible;54     }55     @Override56     public int hashCode() {57         final int prime = 31;58         int result = 1;59         result = prime * result + ((id == null) ? 0 : id.hashCode());60         return result;61     }62     @Override63     public boolean equals(Object obj) {64         if (this == obj)65             return true;66         if (obj == null)67             return false;68         if (getClass() != obj.getClass())69             return false;70         Brand other = (Brand) obj;71         if (id == null) {72             if (other.id != null)73                 return false;74         } else if (!id.equals(other.id))75             return false;76         return true;77     }78 }

2.实现品牌分页显示的action与formbean(新建一个BrandAction来实现分页显示,新建一个formbean用来保存和分页相关的数据)

View Code

 1 package cnblogs.xiaoqiu.web.action.product; 2  3 import java.util.ArrayList; 4 import java.util.LinkedHashMap; 5 import java.util.List; 6 import javax.annotation.Resource; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 import org.apache.struts.action.Action;10 import org.apache.struts.action.ActionForm;11 import org.apache.struts.action.ActionForward;12 import org.apache.struts.action.ActionMapping;13 import org.springframework.stereotype.Controller;14 15 import cnblogs.xiaoqiu.bean.PagingBean;16 import cnblogs.xiaoqiu.bean.ScrollResult;17 import cnblogs.xiaoqiu.bean.product.Brand;18 import cnblogs.xiaoqiu.service.product.BrandService;19 import cnblogs.xiaoqiu.web.action.formbean.BrandForm;20 @Controller("/control/product/brand/list")21 public class BrandAction extends Action {22     @Resource(name="brandServiceImpl")23     BrandService brandService;24     @Override25     public ActionForward execute(ActionMapping mapping, ActionForm form,26             HttpServletRequest request, HttpServletResponse response)27             throws Exception {28         BrandForm brandForm = (BrandForm)form;29         int pageCounts = 10;30         int currentPage = brandForm.getCurrentPage();31         int begin = (currentPage-1)*pageCounts;32         LinkedHashMap<String, String> orderHashMap = new LinkedHashMap<String, String>();33         orderHashMap.put("id", "asc");34         StringBuffer jpql = new StringBuffer(" p.visible=?1");35         List<Object> params = new ArrayList<Object>();36         params.add(true);37         if(brandForm.getName()!=null&&!brandForm.equals("")){38             jpql.append(" and p.name like ?"+(params.size()+1));39             params.add("%"+brandForm.getName()+"%");40         }41         ScrollResult<Brand> scrollResult = brandService.getScrollResult(Brand.class, begin, pageCounts, orderHashMap, jpql.toString(), params.toArray());42         PagingBean<Brand> pagingBean = new PagingBean<Brand>(currentPage,scrollResult,pageCounts);43         request.setAttribute("pagingBean", pagingBean);44         return mapping.findForward("list");45     }46 }

View Code

 1 package cnblogs.xiaoqiu.web.action.formbean; 2  3 import org.apache.struts.upload.FormFile; 4  5 public class BrandForm extends BaseForm { 6     private static final long serialVersionUID = -72250115273774274L; 7     private String id; 8     private FormFile image; 9     private String imagePath;10     11     12     public String getImagePath() {13         return imagePath;14     }15 16     public void setImagePath(String imagePath) {17         this.imagePath = imagePath;18     }19 20     public String getId() {21         return id;22     }23 24     public void setId(String id) {25         this.id = id;26     }27 28     public FormFile getImage() {29         return image;30     }31 32     public void setImage(FormFile image) {33         this.image = image;34     }    35 }

3.实现品牌分页显示的jsp页面,并单元测试

4.实现品牌添加(上传和显示logo图片),并单元测试

View Code

 1 /** 2      * 提供添加界面 3      * @param mapping 4      * @param form 5      * @param request 6      * @param response 7      * @return 8      * @throws Exception 9 */10     public ActionForward addUI(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)11         throws Exception {12         return mapping.findForward("add");13     }14     /**15      * 提供添加功能16      * @param mapping17      * @param form18      * @param request19      * @param response20      * @return21      * @throws Exception22 */23     public ActionForward add(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)24         throws Exception {25         //  /images/brand/2008/12/12/03/xxxxxxxx.gif26         BrandForm brandForm = (BrandForm)form;27         Brand brand = new Brand();28         String message="品牌添加成功";29         brand.setName(brandForm.getName());30         if(brandForm.getImage()!=null&&brandForm.getImage().getFileSize()>0){31             if(brandForm.isImageTypeValidate(brandForm.getImage())){32                 StringBuffer imageDir = new StringBuffer("/images/brand/");33                 SimpleDateFormat dateFormat = new SimpleDateFormat("yy/MM/dd/HH/");34                 imageDir.append(dateFormat.format(new Date()));35                 String imageRealDir = request.getSession().getServletContext().getRealPath(imageDir.toString());36                 File fileDir = new File(imageRealDir);37                 if(!fileDir.exists())    fileDir.mkdirs();38                 StringBuffer imageName = new StringBuffer(UUID.randomUUID().toString());39                 String imageFormat = brandForm.getImage().getFileName().substring(brandForm.getImage().getFileName().lastIndexOf('.'));40                 imageName.append(imageFormat);41                 FileOutputStream outputStream = new FileOutputStream(new File(imageRealDir,imageName.toString())); 42                 outputStream.write(brandForm.getImage().getFileData());43                 outputStream.close();44                 brand.setImagePath(imageDir.append(imageName).toString());45             }46             else{47                 message = "品牌添加失败";48             }49         }50         brandService.save(brand);51         request.setAttribute("jump", PropertiesTool.getValue("control.product.brand.list"));52         request.setAttribute("message", message);53         return mapping.findForward("message");54     }

5.实现品牌的修改和查询功能,并单元测试

View Code

 1 /** 2      * 提供修改界面 3      * @param mapping 4      * @param form 5      * @param request 6      * @param response 7      * @return 8      * @throws Exception 9 */10     public ActionForward editUI(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)11         throws Exception {12         BrandForm brandForm = (BrandForm)form;13         Brand brand  = brandService.find(Brand.class, brandForm.getId());14         brandForm.setName(brand.getName());15         brandForm.setImagePath(brand.getImagePath());16         return mapping.findForward("edit");17     }18     /**19      * 提供修改功能20      * @param mapping21      * @param form22      * @param request23      * @param response24      * @return25      * @throws Exception26 */27     public ActionForward edit(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)28     throws Exception {29         String message = "品牌修改成功";30         BrandForm brandForm = (BrandForm)form;31         Brand brand  = brandService.find(Brand.class, brandForm.getId());32         brand.setName(brandForm.getName());33         if(brandForm.getImage()!=null&&brandForm.getImage().getFileSize()>0){34             if(brandForm.isImageTypeValidate(brandForm.getImage())){35                 StringBuffer imageDir = new StringBuffer("/images/brand/");36                 SimpleDateFormat dateFormat = new SimpleDateFormat("yy/MM/dd/HH/");37                 imageDir.append(dateFormat.format(new Date()));38                 String imageRealDir = request.getSession().getServletContext().getRealPath(imageDir.toString());39                 File fileDir = new File(imageRealDir);40                 if(!fileDir.exists())    fileDir.mkdirs();41                 StringBuffer imageName = new StringBuffer(UUID.randomUUID().toString());42                 String imageFormat = brandForm.getImage().getFileName().substring(brandForm.getImage().getFileName().lastIndexOf('.'));43                 imageName.append(imageFormat);44                 FileOutputStream outputStream = new FileOutputStream(new File(imageRealDir,imageName.toString())); 45                 outputStream.write(brandForm.getImage().getFileData());46                 outputStream.close();47                 brand.setImagePath(imageDir.append(imageName).toString());48             }49             else{50                 message = "品牌修改失败";51             }52         }53         brandService.update(brand);54         request.setAttribute("jump", PropertiesTool.getValue("control.product.brand.list"));55         request.setAttribute("message", message);56         return mapping.findForward("message");57     }58     59     /**60      * 提供查询界面61      * @param mapping62      * @param form63      * @param request64      * @param response65      * @return66      * @throws Exception67 */68     public ActionForward findUI(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)69         throws Exception {70         return mapping.findForward("find");71     }

转载于:https://www.cnblogs.com/xiaoqv/archive/2012/04/08/2438031.html

巴巴运动网学习笔记(36-40)相关推荐

  1. 巴巴运动网学习笔记(16-20)

    1.ProductType的JPA映射 View Code 1 @Entity 2 public class ProductType { 3 private int id; 4 private Str ...

  2. 巴巴运动网学习笔记(21-25)

    1.实现最基本的分页数据的的查找功能(claaType,bengin,max),并单元测试 View Code 1 public <T> ScrollResult<T> get ...

  3. 深度学习笔记(40) YOLO

    深度学习笔记(40) YOLO 1. YOLO对象检测算法 2. 构造训练集 3. 预测 3. 非极大值抑制 1. YOLO对象检测算法 之前已经学到对象检测算法的大部分组件: 博文 组件 作用 深度 ...

  4. 新巴巴运动网 项目第三天

    新巴巴运动网 项目第三天 今天内容 Dubbo优化 搭建后台管理页面 品牌管理 列表查询(带条件 + 分页) 品牌管理 去修改页面 品牌管理 异步上传图片 Dubbo优化 超时 服务消费方通过注册中心 ...

  5. 运动规划学习笔记4——探索OMPL

    运动规划学习笔记4--探索OMPL A.OMPL编译与安装 B.OMPL使用 B1.基本定义 B2.路径可视化 B3.API Overview C.代码附录 C1.Geometric Planning ...

  6. 【j2ee spring】39、巴巴运动网的产品信息

    巴巴运动网的产品信息 1.项目图解 2.我们开始做我们的相应的功能模块 页面的素材我会上传的,链接是:http://download.csdn.net/detail/cutter_point/8803 ...

  7. 【j2ee spring】38、巴巴运动网的产品文件的上传

    巴巴运动网的产品文件的上传 1.项目图解 2.我们开始做我们的相应的功能模块 页面的素材我会上传的,链接是:http://download.csdn.net/detail/cutter_point/8 ...

  8. JavaWeb黑马旅游网-学习笔记09【旅游线路收藏】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

  9. JavaWeb黑马旅游网-学习笔记08【旅游线路详情】

    Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...

最新文章

  1. C#和Unity游戏开发者大师班2021 (2D,3D和FPS)
  2. 整理Silverlight资源列表(四)——Silverlight案例补充
  3. 如何修改服务器mac地址,如何修改服务器mac地址
  4. 传感器工作原理_荧光氧气传感器工作原理简介
  5. 解决 No module named ‘tensorflow.examples.tutorials‘
  6. hihocoder第220周-一道拧巴的题
  7. 中的live_2016知乎Live精选汇编——简历类
  8. html钢琴谱播放器,蛐蛐五线谱播放器(77player)
  9. PHP错误处理注册机制
  10. 函数-在函数里修改列表数据
  11. TeeChart.NET 2022.4.8 专业版-Crack
  12. 小学生python编程教程-python 小学生教程|怎么让一个小学生学会Python?
  13. ANSYS or Abaqus? 一个过来人的工作感悟
  14. linux ubuntu 版本,ubuntu各版本的区别
  15. 几招紧急应对夏天雷雨天机房断电的方法!
  16. 2022年贵州二级建造师建设工程法规及相关知识模拟题及答案
  17. C语言——文件操作及常见问题
  18. 【在Linu系统下安装 TeXstudio、mplayer、WPS、Python、mendeley、WeChat、搜狗输入法】
  19. 制作自己的图片数据集(附代码)
  20. 入门 | 我们常听说的置信区间与置信度到底是什么?

热门文章

  1. MySQL 5.7 并行复制参数优化
  2. ORACLE 10046 Trace
  3. Application package 'AndroidManifest.xml' must have a minimum of 2 segments错误
  4. Android BroadcastReceiver广播详解
  5. myeclispe快捷键一\(≧▽≦)/终于也收藏了
  6. Android 的singleLine废弃解决
  7. android 进制转换
  8. ubuntu装jdk
  9. Linux下Verilog仿真过程(二)
  10. Android-View点击事件短时间重复点击的过滤