巴巴运动重做小记(40-50)

1. param参数

了解<jsp:param场合> 在requestScope增加setAttribute

2. EL表达式如果,了解null与“”区别为null为没有分配空间,""为分配了空间,但值为空。

        值为null 用${ empty param.sort }

值为空   用  ${ “” == param.sort  }


3. 增删改查,一般HQL都是下面个范本

      LinkedHashMap<String,String> orderBy = new LinkedHashMap<String,String>();
      orderBy.put("typeid", "desc");
      StringBuffer hqlwhere = new StringBuffer();
      List<Object> params = new ArrayList<Object>();
      hqlwhere.append(" o.visible = ?"+(params.size()+1));
      params.add(true);
			
      if("query".equals(formbean.getQuery())){
	  //查询,去掉parentid
	  hqlwhere.append(" and o.name like  ?"+(params.size()+1));
	 params.add("%"+formbean.getName()+"%");
      }else{
	 //非查询,按照parentid筛选
	 if(formbean.getParentid()==null || formbean.getParentid()==0){
	      hqlwhere.append(" and o.parent.typeid IS NULL");
	 }else{
	      hqlwhere.append(" and o.parent.typeid = ?"+(params.size()+1));
	      params.add(formbean.getParentid());
	 }
      }
			
      //2.组装HQL的List集
      QueryResult<ProductType> qr = productTypeService.getScrollData(ProductType.class,firstIndex,maxresult,hqlwhere.toString(),params.toArray(),orderBy);
      PageView<ProductType> pageView = new PageView<ProductType>(qr.getResultlist(),qr.getTotalrecord(),currentpage);
			
      request.setAttribute("pageView", pageView);


4. 保存图片路径的范本

如果有必要在做一遍,了解文件的操作 ,清楚项目路径与绝对路径的操作

1) file.exists()

2) file.mkdirs()

3) FileOutputStream out = new FileOutputStream(new File(logoRealPath+"/"+logoFileName))

	if (logofile != null && logofile.getFileSize() != 0) {
				
		String logoPathDir = "images/brand/"
			+ new SimpleDateFormat("yyyy/MM/dd").format(new Date());
		String logoRealPath = request.getSession().getServletContext()
			.getRealPath(logoPathDir);
		// 3.构建图片保存的目录
		if (!file.exists())
			file.mkdirs();  
		// 4.构建文件名称
		String ext = logofile.getFileName().substring(
			logofile.getFileName().indexOf("."));
		String logoFileName = UUID.randomUUID().toString() + ext;
		FileOutputStream out = new FileOutputStream(new File(logoRealPath
			+ "/" + logoFileName));
		out.write(logofile.getFileData());
		out.close();
		String logopath = logoPathDir + "/" + logoFileName;
		brand.setLogopath(logopath);
	}
	brandService.save(brand);

5. @Temporal

日期: @Temporal(TemporalType.DATE)

时间: @Temporal(TemporalType.TIME)

日期和时间:@Temporal(TemporalType.TIMESTAMP)


6.枚举值的用法

enum FruitEnum {
    APPLE(1), ORANGE(2);    //    调用构造函数来构造枚举项
    private int value = 0;
    private FruitEnum(int value) {    //    必须是private的,否则编译错误
        this.value = value;
    }
    public static FruitEnum valueOf(int value) {    //    手写的从int到enum的转换函数
        switch (value) {
        case 1:
            return APPLE;
        case 2:
            return ORANGE;
        default:
            return null;
        }
    }
    public int value() {
        return this.value;
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值