摘要:我們?nèi)粘i_(kāi)發(fā)中有時(shí)候經(jīng)常遇到一個(gè)頁(yè)面好多下拉框,下拉框的內(nèi)容都被維護(hù)在一張字典表中,然后根據(jù)字典類型獲取不同的數(shù)據(jù)作為下拉列表展示。
我們?nèi)粘i_(kāi)發(fā)中有時(shí)候經(jīng)常遇到一個(gè)頁(yè)面好多Select下拉框,下拉框的內(nèi)容都被維護(hù)在一張字典表中,然后根據(jù)字典類型獲取不同的數(shù)據(jù)作為下拉列表展示。這樣很繁瑣,每次都要需要寫一堆東西來(lái)初始化下拉選項(xiàng),我們可以利用jspTag自定義標(biāo)簽來(lái)完成。
自定義標(biāo)簽
/** **
* 基于JspTag的公共選擇下拉框 * @author jianzhang11 * @version 1.0 * @desc * @Date: 2016/5/18 18:43 * @since 1.0 */ public class DictSelectTag extends TagSupport{ //獲取系統(tǒng)定義的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; } /** * 自定義標(biāo)簽實(shí)現(xiàn) * @return * @throws JspException */ @Override public int doEndTag() throws JspException { JspWriter out = pageContext.getOut(); ListDictSelectTag
*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文件配置標(biāo)簽
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
頁(yè)面調(diào)用
<%@taglib prefix="dict" uri="/WEB-INF/tld/dict.tld" %>
簡(jiǎn)單三步即可在頁(yè)面完成下拉框的渲染,在后臺(tái)Service獲取字典表內(nèi)容的時(shí)候建議加上緩存,這樣就不需要多次查詢數(shù)據(jù)庫(kù)了!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/69159.html
摘要:往往定義組件的構(gòu)造器后,不需要手動(dòng)的進(jìn)行初始化,而是在其他組件的模板中當(dāng)成標(biāo)簽來(lái)使用,這時(shí)候需要調(diào)用注冊(cè)成組件。這樣設(shè)計(jì)的目的是防止從子組件意外改變父級(jí)組件的狀態(tài),從而導(dǎo)致應(yīng)用的數(shù)據(jù)流向難以理解。 上節(jié)說(shuō)到組件https://segmentfault.com/a/1190000009236700,這一節(jié)繼續(xù)來(lái)學(xué)習(xí)組件: 原文博客地址,歡迎學(xué)習(xí)交流:點(diǎn)擊預(yù)覽從github上獲取本文代碼:...
摘要:組件是中很重要,這部分也是最難理解的,先聊一聊中的組件。語(yǔ)法組件名選項(xiàng)對(duì)象來(lái)定義一個(gè)下拉框組件請(qǐng)選擇北京上海杭州組件的名字就為,在模板中使用組件請(qǐng)選擇北京上海杭州在模板中使用組件和正常標(biāo)簽一樣。 看了Vue的文檔,寫得很簡(jiǎn)潔,但是并不簡(jiǎn)單。在自己學(xué)習(xí)的過(guò)程中踩過(guò)不少的坑,學(xué)習(xí)的時(shí)候把官網(wǎng)的例子從頭到尾做了一遍,記錄在github中https://github.com/WYseven/v...
摘要:原文地址安裝首先通過(guò)來(lái)安裝這個(gè)包編輯項(xiàng)目的文件在部分加入接下來(lái)從命令行更新接下來(lái)添加到的數(shù)組最后添加兩個(gè)類鏈接到的數(shù)組創(chuàng)建表單打開(kāi)表單默認(rèn)是方法你可以隨意指定其他接收方法表單僅僅支持和方法和方法將會(huì)使用一個(gè)隱藏域添加到表單中來(lái)欺騙實(shí)現(xiàn)你可 原文地址: Laravel Collective Forms & HTML 安裝 首先通過(guò) composer 來(lái)安裝這個(gè) 包, 編輯項(xiàng)目的 comp...
摘要:在寫示例的時(shí)候,用到了下拉框,但是原生的下拉框是在是有點(diǎn)難看,然后模仿著寫了點(diǎn),一個(gè)是直接在寫好的上進(jìn)行美化,一個(gè)是用生成,然后定義類名及相應(yīng)的事件來(lái)處理效果圖直接是在上美化文件請(qǐng)選擇你喜歡的文字萬(wàn)水千山,陪你一起看萬(wàn)水千山,陪你一起看萬(wàn)水 在寫示例的時(shí)候,用到了下拉框,但是原生的下拉框是在是有點(diǎn)難看,然后模仿著寫了點(diǎn),一個(gè)是直接在寫好的Dom上進(jìn)行美化,一個(gè)是用js生成,然后定義類名...
閱讀 654·2021-11-25 09:43
閱讀 1671·2021-11-18 10:02
閱讀 1044·2021-10-15 09:39
閱讀 1894·2021-10-12 10:18
閱讀 2126·2021-09-22 15:43
閱讀 778·2021-09-22 15:10
閱讀 2091·2019-08-30 15:53
閱讀 993·2019-08-30 13:00