dataModel中的某个字段值可能是一个int,但是实际显示到页面希望是代表某种意思,如0显示“女性”,1显示“男性”。有没有办法提供一个通用的方式,如调用一个方法,通过字段名和字段值,分别转换得到真正需要显示的值?这样我们就没有必要为每个有数据列表的页面去写每个字段的标签了,而可以通用引用一个模板页面,把数据塞进去就能正确显示每一列了。 

解决方案 »

  1.   

    pageContext.setAttribute("sex", new String[]{"女", "男"});
    然后${sex[***.sex]}如果有很多,这样的数值。可以在application里面初始化一个对象StaticDate,然后setSex(String[] arg0)
    ${StaticDate.sex[***.sex]}
      

  2.   

    楼上给了一个好的提示,可以再bakingbean的基类中写一个抽象方法,参数为列名和当前值,子类覆写这个方法,通过不同的列名把当前值转换成需要显示的值,如一种较为有用的情况:利用设备ID调用查询设备接口,得到设备名。标签中只要调用这个基类方法就能正确显示了。
      

  3.   

    但是如何传递参数呢#{backingBean.getColumnValue}
    public abstract String getColumnValue(String columnName, Object RowData);