资讯专栏INFORMATION COLUMN

使用自定义标签构造select下拉框

Baaaan / 1914人阅读

摘要:我们日常开发中有时候经常遇到一个页面好多下拉框,下拉框的内容都被维护在一张字典表中,然后根据字典类型获取不同的数据作为下拉列表展示。

我们日常开发中有时候经常遇到一个页面好多Select下拉框,下拉框的内容都被维护在一张字典表中,然后根据字典类型获取不同的数据作为下拉列表展示。这样很繁琐,每次都要需要写一堆东西来初始化下拉选项,我们可以利用jspTag自定义标签来完成。

自定义标签

/**
 * 

* DictSelectTag *

* 基于JspTag的公共选择下拉框 * @author jianzhang11 * @version 1.0 * @desc * @Date: 2016/5/18 18:43 * @since 1.0 */ public class DictSelectTag extends TagSupport{ //获取系统定义的service private BaseDicService baseDicService = SpringContextHolder.getBean("baseDicService"); private String id; private String name; private String value; private String type; /** * 前端CSS样式 */ private String cssStyle; @Override public String getId() { return id; } @Override public void setId(String id) { this.id = id; } public void setName(String name) { this.name = name; } public void setValue(String value) { this.value = value; } public void setType(String type) { this.type = type; } public void setCssStyle(String cssStyle) { this.cssStyle = cssStyle; } /** * 自定义标签实现 * @return * @throws JspException */ @Override public int doEndTag() throws JspException { JspWriter out = pageContext.getOut(); List dicList = baseDicService.findBaseDicsByType(type); StringBuffer sb = new StringBuffer(); sb.append(""); try { out.write(sb.toString()); } catch (IOException e) { e.printStackTrace(); } return TagSupport.EVAL_PAGE; } }

新建tld文件配置标签





    1.0
    dict
    http://iflytek.com/dict_tag
   
   
    
        Renders an HTML "select" element. Supports databinding to the selected option.
        select
        com.iflytek.esociety.common.tag.DictSelectTag
        JSP
        
            id
            false
            true
        
        
            value
            false
            true
        
        
            name
            true
            true
        
        
            type
            true
            true
        
        
            cssStyle
            false
            true
        
    


页面调用

<%@taglib prefix="dict" uri="/WEB-INF/tld/dict.tld" %>

简单三步即可在页面完成下拉框的渲染,在后台Service获取字典表内容的时候建议加上缓存,这样就不需要多次查询数据库了!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/69159.html

相关文章

  • 理解vue中的组件(二)

    摘要:往往定义组件的构造器后,不需要手动的进行初始化,而是在其他组件的模板中当成标签来使用,这时候需要调用注册成组件。这样设计的目的是防止从子组件意外改变父级组件的状态,从而导致应用的数据流向难以理解。 上节说到组件https://segmentfault.com/a/1190000009236700,这一节继续来学习组件: 原文博客地址,欢迎学习交流:点击预览从github上获取本文代码:...

    Nino 评论0 收藏0
  • 理解vue中的组件(一)

    摘要:组件是中很重要,这部分也是最难理解的,先聊一聊中的组件。语法组件名选项对象来定义一个下拉框组件请选择北京上海杭州组件的名字就为,在模板中使用组件请选择北京上海杭州在模板中使用组件和正常标签一样。 看了Vue的文档,写得很简洁,但是并不简单。在自己学习的过程中踩过不少的坑,学习的时候把官网的例子从头到尾做了一遍,记录在github中https://github.com/WYseven/v...

    JasonZhang 评论0 收藏0
  • Laravel 组件之 Forms & HTML 组件 (laravelcollective

    摘要:原文地址安装首先通过来安装这个包编辑项目的文件在部分加入接下来从命令行更新接下来添加到的数组最后添加两个类链接到的数组创建表单打开表单默认是方法你可以随意指定其他接收方法表单仅仅支持和方法和方法将会使用一个隐藏域添加到表单中来欺骗实现你可 原文地址: Laravel Collective Forms & HTML 安装 首先通过 composer 来安装这个 包, 编辑项目的 comp...

    Amio 评论0 收藏0
  • 美化select下拉

    摘要:在写示例的时候,用到了下拉框,但是原生的下拉框是在是有点难看,然后模仿着写了点,一个是直接在写好的上进行美化,一个是用生成,然后定义类名及相应的事件来处理效果图直接是在上美化文件请选择你喜欢的文字万水千山,陪你一起看万水千山,陪你一起看万水 在写示例的时候,用到了下拉框,但是原生的下拉框是在是有点难看,然后模仿着写了点,一个是直接在写好的Dom上进行美化,一个是用js生成,然后定义类名...

    CompileYouth 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<