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.
这种情况当如何解决呢?
extremeTable中的疑难问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- catstiger 2008-11-05 22:46关注
标准的办法是实现Cell接口或者继承org.extremecomponents.table.cell.AbstractCell类
/ec:column
下面是例子:
[code="java"]
/**-
解决null对象的显示问题。
*
/
public final class DisplayCell extends AbstractCell {
/*- @see AbstractCell#getExportDisplay(TableModel, Column) */ public String getExportDisplay(TableModel model, Column column) { return column.getPropertyValueAsString(); }
/**
- 取得Cell Value,如果是null,则输出 */ protected String getCellValue(TableModel model, Column column) { String str = column.getValueAsString(); if (column.getValue() == null || "null".equals(str)) { return " "; } return StringUtil.stripTags(str); } }
[/code]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 -
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度