weixin_42297864 2008-11-04 22:46
浏览 139
已采纳

extremeTable中的疑难问题

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.



这种情况当如何解决呢?

  • 写回答

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 手机接入宽带网线,如何释放宽带全部速度