1.使用extremetable作为前端表格输出;
2.该table内容如下:
地区代码 地区名称 行政区划
001 中国 country
002 四川 province
.......
3.想达到如下显示目标:
地区代码 地区名称 行政区划
001 中国 国家
002 四川 province
也就是:将原来的英文显示转换成汉字显示
4.目前采用的方法:
1)将行政区划维护为一个enum,名为AdministrativeLevel
2)在control层中构造一个map[key=行政区划代码, value=行政区划名称]
3)将map传到jsp中
4)用el表达式标签读取如下:
<ec:table items="regionList" var="region" scope="request" action="">
.....
<ec:column property="administrativeLevel" title="region.administrativeLevel">
${map["AdministrativeLevel.${region.administrativeLevelCode}"]}
</ec:column>
.....
</ec:table>
其中:${region.administrativeLevelCode}表示当前行的行政区划代码;
map是代码与实际名称的对应表;
所以希望${map["AdministrativeLevel.${region.administrativeLevelCode}"]}能根据每行值的不同,取出相应的名称.
结果当然是null,因为不支持嵌套el.
这种情况当如何解决呢?
标准的办法是实现Cell接口或者继承org.extremecomponents.table.cell.AbstractCell类
/ec:column
下面是例子:
[code="java"]
/**
解决null对象的显示问题。
*
/
public final class DisplayCell extends AbstractCell {
/*
/**
[/code]