easyui,ligerui 数据字典值显示方案

       在后台web应用系统中,在一些含有字典值数据情况下,这些数据要显式地展示给用户,就要通过转换字典值数据,然后返回到页面。

①每次通过遍历字典数据然后在展示数据中增加转换后的值,然后将数据返回到页面。

②通过自定义标签,页面自动转换字典值显示问题。

相比第一种解决方案,第二种方式可以通过一个标签处理所有的数据字典,不必像第一种方案那样要每次在后台手动处理。

通过编写一个标签处理类,主要继承   SimpleTagSupport 类,重写 doTag 方法。

public class DictTag extends SimpleTagSupport  {

       private String dictCode;
       public String getDictCode() {
           return dictCode;
       }
       public void setDictCode(String dictCode) {
           this.dictCode = dictCode;
       }

       @Override
       public void doTag() throws JspException, IOException {
           List<Record> list =DictCache.getSelect(dictCode);//获取字典
           String json = JsonKit.toJson(list);
           StringBuilder stringBuilder = new StringBuilder();
           stringBuilder.append("<script>");
           stringBuilder.append(" var data_").append(dictCode).append("=");
           stringBuilder.append(json);
           stringBuilder.append(";");
           stringBuilder.append("function ");
           stringBuilder.append("render_").append(dictCode);
           stringBuilder.append("(item,item1,item2,cell){");
           stringBuilder.append("for( var i=0;i<data_").append(dictCode).append(".length;i++){");
           stringBuilder.append("if(item[cell.name]==data_").append(dictCode).append("[i].itemValue){");
           stringBuilder.append("return data_").append(dictCode).append("[i].itemName;");
           stringBuilder.append("}");
           stringBuilder.append("}");
           stringBuilder.append("}");
           stringBuilder.append("</script>");
           
           getJspContext().getOut().write(stringBuilder.toString());
       }
}

 

建立TLD文件,

<?xml version="1.0" encoding="GBK"?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd"
    version="2.0">
    <tlib-version>1.0</tlib-version>
    <short-name>dicttaglib</short-name>
    <!-- 定义该标签库的URI -->
    <uri>http://www.xxx.org/mytaglib</uri>
    <!-- 定义第一个标签 -->
    <tag>
        <!-- 定义标签名 -->
        <name>dictCode</name>
        <!-- 定义标签处理类 -->
        <tag-class>com.xxxTag</tag-class>
        <!-- 定义标签体为空 -->
        <body-content>empty</body-content>
        <attribute> 
            <name>dictCode</name> 
            <required>true</required> 
        </attribute>   
 </tag>
</taglib>

 

使用标签:

<%@ taglib uri="tagliburi" prefix="dict" %>
<d:dict dictCode="xxx"/>
ligerGrid({
checkbox : true,
height : '96%',
columns : [ {
   display : 'goddamn handsome',
   name : 'xxx',
   minWidth : 120,
   render:render_xxx //render_xxx 根据doTag返回的数据而定
}]
})

 

转载于:https://my.oschina.net/WWWW23223/blog/758776

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值