本帖最后由 riyuetaozi 于 2014-8-27 13:37 编辑
前提: 列表页面使用的是 datagrid标签中的dgcol标签进行显示数据 Eg : <t:dgColtitle="出借金额" field="tranAmountComma" hidden="true" queryMode="single" width="80"></t:dgCol> 解决办法: 其实有两种方法, 方法一(修改标签库,没有测试过,谁测试过的,分享一下哈,在此谢过了!) 方法二:(只测试了这一种,治标不治本,嘿嘿)1,在实体类(自己的实体类)中定义一个显示格式化后的金额字段,2,getter方法上加 @Transient //不让spring扫描, 3,在控制器中的datagrid方法(查询执行的方法)中循环遍历并调用格式化方法,存入到字段中 Eg : 实体类写法 private String tranAmountComma;//格式化出借金额 @Transient//不让spring扫描 public String getTranAmountComma() { return tranAmountComma; } public void setTranAmountComma(String tranAmountComma) { this.tranAmountComma = tranAmountComma; } Eg : 页面写法 <t:dgColtitle="出借金额" field="tranAmountComma" hidden="true" queryMode="single" width="80"></t:dgCol> Eg : 控制器写法 //控制器中的重要代码 List<InverstTranEntity> list = dataGrid.getResults(); InverstTranEntityins = new InverstTranEntity(); for(inti=0,j=list.size();i<j;i++){ ins = list.get(i); ins.setTranAmountComma(insertCommaMoney(ins.getTranAmount().toString()));//格式化出借金额 } TagUtil.datagrid(response, dataGrid); /** * 金额格式化(使用正则表达式) * @param money 要格式化的金额 * @return 返回格式后的金额 */ public staticString insertCommaMoney(String money) { if (money == null) { return "0.00"; } NumberFormat formater = null; double damoney = 0.00; try { damoney=Double.parseDouble(money); formater= new DecimalFormat("#,##0.00#"); } catch(Exception e) { return "金额出错"; } return formater.format(damoney); } OK,结束了!
|