`
kingmxj
  • 浏览: 182429 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自定义标签

    博客分类:
  • Java
阅读更多
类dictionaryTag 必须继承TagSupport
public class dictionaryTag extends TagSupport {

private static final long serialVersionUID = 3628217258733508857L;

private String type;
private String flag;

public int doStartTag() throws JspException {
try {
WebApplicationContext wac = WebApplicationContextUtils
.getWebApplicationContext(pageContext.getServletContext());

DictionaryManager dictionaryManager = (DictionaryManager) wac
.getBean("dictionaryManager");

Dictionary dictionary = new Dictionary();
dictionary.setDicTypeNo(type);
List list = dictionaryManager.queryByType(dictionary);
String str = "";

if (list.get(0) != null) {
str = "[";
//如果flag.equals("0")为一般情况
if(flag != null && flag.equals("0")){
for (int i = 0; i < list.size(); i++) {
Dictionary dictionaryObj = (Dictionary) list
.get(i);
str += "['" + dictionaryObj.getDicId() + "','"
+ dictionaryObj.getDicName() + "','"
+ dictionaryObj.getDicTypeNo() + "','"
+ dictionaryObj.getDescription() + "','"
+ String.valueOf(dictionaryObj.getSortnum())
+ "']";
if (i != (list.size() - 1))
str = str + ",";
}
}else{//如果flag.equals("1")做特殊处理
for (int i = 0; i < list.size(); i++) {
Dictionary dictionaryObj = (Dictionary) list
.get(i);
str += "['" + dictionaryObj.getDescription() + "','"
+ dictionaryObj.getDicName() + "','"
+ dictionaryObj.getDicTypeNo() + "','"
+ dictionaryObj.getDicId() + "','"
+ String.valueOf(dictionaryObj.getSortnum())
+ "']";
if (i != (list.size() - 1))
str = str + ",";
}
}
str += "]";
} else {
str = "[]";
}
System.out.println(str);
pageContext.getOut().print(str);
} catch (java.io.IOException ex) {
System.out.println(ex);
throw new JspException(ex.getMessage());
}
/* 禁止处理主体部分 */
return SKIP_BODY;
}

public int doEndTag() throws JspException {
/* 处理页面其它部分 */
return EVAL_PAGE;
}

public void setType(String type) {
this.type = type;
}


public void setFlag(String flag) {
this.flag = flag;
}

}
返回的str内容:[['501','加油站油库','500','加油站油库','501'],['530','烟花爆竹零售网点','500','烟花爆竹零售网点','530'],['550','工业企业','500','工业企业','550'],['570','作业现场职业病防治','500','作业现场职业病防治','570'],['600','劳动用工','500','劳动用工','600'],['620','防洪安全','500','防洪安全','620'],['630','开凿机井','500','开凿机井','630'],['640','公园、林地火险隐患','500','公园、林地火险隐患','640'],['660','林业有害生物防治','500','林业有害生物防治','660'],['680','危化生产运输活动的环境安全','500','危化生产运输活动的环境安全','680'],['700','建筑工地','500','建筑工地','700'],['760','临时宣传品(条幅展板、气拱门升空气球)','500','临时宣传品(条幅展板、气拱门升空气球)','760'],['780','户外广告','500','户外广告','780'],['800','牌匾标识','500','牌匾标识','800'],['820','占用、挖掘市政道路','500','占用、挖掘市政道路','820'],['840','燃气安全','500','燃气安全','840'],['850','电力安全','500','电力安全','850'],['870','餐饮企业','500','餐饮企业','870'],['900','商业零售','500','商业零售','900'],['930','体育运动项目经营单位','500','体育运动项目经营单位','930'],['950','旅游景区','500','旅游景区','950'],['980','星级饭店','500','星级饭店','980'],['1000','歌舞厅','500','歌舞厅','1000'],['1020','网吧','500','网吧','1020'],['1040','演出场所','500','演出场所','1040'],['1060','电影院','500','电影院','1060'],['1080','人防工程','500','人防工程','1080'],['1110','通信警报','500','通信警报','1110'],['1140','特种设备生产使用单位','500','特种设备生产使用单位','1140'],['1170','有形市场','500','有形市场','1170'],['1200','学校','500','学校','1200'],['1270','燃气','500','燃气','1270'],['1280','清洁燃料车辆加气站','500','清洁燃料车辆加气站','1280'],['1290','消防安全','500','消防安全','1290'],['1310','煤气中毒','500','煤气中毒','1310'],['1320','交通安全','500','交通安全','1320'],['1340','省际客运安全','500','省际客运安全','1340'],['1360','城市轨道交通安全','500','城市轨道交通安全','1360'],['1370','道路货物运输安全','500','道路货物运输安全','1370'],['1390','机动车维修','500','机动车维修','1390'],['1400','水运安全','500','水运安全','1400'],['1410','汽车租赁','500','汽车租赁','1410'],['1420','停车场','500','停车场','1420'],['1440','物业公司','500','物业公司','1440'],['1470','仓储物流公司','500','仓储物流公司','1470'],['1490','其他企业','500','其他企业','1490'],['1500','其他危险化学品经营单位','500','其他危险化学品经营单位','1500'],['1600','大型活动','500','大型活动','1600'],['1610','剧毒物品','500','剧毒物品','1610']]


tld

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.2</jspversion>
<shortname>dictionary</shortname>
<uri>http://www.itsv.com/platform/dictionary</uri>
  <tag>
    <name>dictionaryTag</name>
    <tagclass>com.itsv.cyaj.tag.dictionaryTag</tagclass>
    <bodycontent>empty</bodycontent>
    <attribute>
      <name>type</name>
      <required>true</required>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
    <attribute>
      <name>flag</name>
      <required>true</required>
      <rtexprvalue>false</rtexprvalue>
    </attribute>
  </tag>
</taglib>

jsp页面

var dicttroubleType = <dictionary:dictionaryTag type="500" flag="0" />;//获得隐患类型

var obj_troubletype = new itsvDictionary(dicttroubleType);

function itsvDictionary(dataItems){
  //按照顺序编号排序
  /*
  function _sortByNo(a, b) {
      if(Number(a[2]) == Number(b[2])) return 0
      return (Number(a[2]) > Number(b[2])) ? 1 : -1;
  }
  this.items = dataItems.sort(_sortByNo);
  */
  this.items = dataItems;
  this.execute = function(obj){
    obj.length = 0;
    obj.options[obj.length] = new Option("请选择", "");
    for(i = 0; i < this.items.length; i++){
      obj.options[obj.length] = new Option(this.items[i][1], this.items[i][0]);
    }
  }
  this.execute2 = function(obj){//没有请选择
    obj.length = 0;
    for(i = 0; i < this.items.length; i++){

      obj.options[obj.length] = new Option(this.items[i][1], this.items[i][0]);
    }
  }
  this.setDefault = function(obj, defaultVal){
    for(i = 0; i < this.items.length; i++){
      if(Number(this.items[i][0]) == Number(defaultVal)){
        obj.options[i + 1].selected = true;
        break;
      }
    }
  }
  this.setDefault2 = function(obj, defaultVal){
    for(i = 0; i < this.items.length; i++){
      if(Number(this.items[i][0]) == Number(defaultVal)){
        obj.options[i].selected = true;
        break;
      }
    }
  }
  this.getName = function(code){
    for(i = 0; i < this.items.length; i++){
      if(Number(this.items[i][0]) == Number(code)){
        return this.items[i][1];
      }
    }
  }
}
分享到:
评论

相关推荐

    mybatis自定义标签.zip

    在实际开发中,有时我们需要根据项目需求实现特定的功能,比如动态生成SQL或者进行复杂的业务逻辑处理,这时MyBatis的自定义标签功能就显得尤为重要。 自定义标签是MyBatis框架的一大特色,它允许我们扩展XML映射...

    struts2 自定义标签

    在Struts2中,自定义标签是提高代码可读性和可维护性的重要工具。本文将深入探讨Struts2自定义标签的实现机制、优点以及如何在实际项目中进行应用。 一、Struts2自定义标签的概念 自定义标签是JSP的一种扩展,允许...

    jsp 自定义标签实例

    在JavaServer Pages (JSP) 技术中,自定义标签是扩展JSP功能的关键手段,它允许开发者创建可重用的组件,提高代码的可维护性和可读性。本实例将深入探讨如何实现一个简单的JSP自定义标签。 首先,自定义标签的实现...

    tp自定义标签

    在ThinkPHP中,自定义标签(Tag Lib)是一种强大的特性,允许开发者扩展模板引擎的功能,使其更符合项目需求。下面将详细解释如何在ThinkPHP 3.0版本中实现自定义标签及其使用方法。 1. **自定义标签的作用** ...

    一个用于分页的自定义标签

    一个“自定义标签”是开发者为了扩展JSP(JavaServer Pages)功能而创建的,它允许我们封装复杂逻辑并将其作为可重用的组件。本项目提供了一个用于分页的自定义标签,适用于那些需要在网页上进行数据分页展示的应用...

    ckeditor4.0自定义标签操作详细步骤及修改后编辑器jar包下载

    本篇文章将详细阐述如何在CKEditor 4.0中进行自定义标签操作,并提供经过修改的编辑器JAR包供下载。 CKEditor 4.0是一款开源的JavaScript富文本编辑器,它支持多种浏览器环境,提供丰富的功能和高度可定制性。...

    jsp2.0 自定义标签和自定标签函数

    在Java Server Pages (JSP) 2.0版本中,自定义标签和自定义标签函数极大地扩展了JSP开发的灵活性和可重用性。这些特性允许开发者创建可复用的组件,使代码更加清晰,易于维护。本文将深入探讨JSP 2.0中的自定义标签...

    spring自定义标签例子

    在Spring框架中,自定义标签是一项非常实用的功能,它允许我们创建符合XML语法的自定义元素,以便在配置文件中更方便地表达业务逻辑。在"spring自定义标签例子"这个项目中,我们可以深入理解这一特性,特别是通过...

    用js实现自定义标签

    本案例通过JavaScript来实现自定义标签的功能。具体而言,它通过遍历文档中的内容,将自定义的标签转换为标准的HTML标签,并应用相应的样式。下面我们将详细介绍其实现细节。 #### 自定义标签代码解析 ```...

    jsp 自定义标签的使用

    在JavaServer Pages (JSP) 技术中,自定义标签是提高代码可重用性和模块化的重要手段。自定义标签允许开发者创建自己的组件,这些组件可以像HTML标签一样在页面上使用,使得代码更加清晰易读。本教程将深入探讨JSP...

    struts实现自定义标签

    在 Struts 中,自定义标签是提供一种灵活的方式,使得视图层(通常为 JSP 页面)能够更好地与业务逻辑交互,从而提高代码的可读性和可维护性。本文将深入探讨如何在 Struts 中实现自定义标签。 一、自定义标签概述 ...

    JSP自定义标签学习笔记

    在JSP(JavaServer Pages)开发中,自定义标签是一种扩展JSP功能的强大工具,它允许开发者创建可重用的代码组件,以提高代码的可读性和可维护性。本篇学习笔记将深入探讨JSP自定义标签的相关概念、创建方法以及实际...

    html自定义标签的使用

    首先,创建自定义标签的目的是为了增加语义化,使网页内容更易于机器理解,同时提高人类阅读的清晰度。例如,可以定义`&lt;article&gt;`、`&lt;sidebar&gt;`等标签来明确内容区块的类型。自定义标签遵循驼峰式命名规则,如`...

    自定义标签,标签实例,ppt

    在Java Web开发中,自定义标签(Custom Tags)是一个强大的工具,它允许开发者创建可重用的组件,提高代码的可读性和维护性。自定义标签是JSP标准标签库(JSTL)的一种扩展,它能将复杂的业务逻辑封装起来,使JSP...

    java自定义标签.......java自定义标签

    Java自定义标签是JavaServer Pages (JSP)技术的一个强大特性,它允许开发者扩展JSP的标准标签库,创建自己的定制化标签,以提高代码的可读性和可维护性。自定义标签可以封装复杂的业务逻辑或者视图呈现,使得页面...

    由浅到深详细讲解JSP自定义标签

    JSP(JavaServer Pages)自定义标签是JSP技术中一个重要的特性,允许开发者创建可重用的、自定义的组件,从而提高代码的可读性和可维护性。本文将深入讲解JSP自定义标签的相关概念、格式、处理过程以及创建和使用...

    jsp权限控制,jsp自定义标签实现

    使用jsp自定义标签的功能实现权限的控制。(如果用户没有某个模块的删除权限,就不现实这个删除按钮) 在整个项目中所有的页面都可以引入自定义的标签去做到权限的控制。 自定义标签文件 删除 可以控制页面中的每...

    Freemarker 自定义标签 简单案例

    在这个"Freemarker自定义标签简单案例"中,我们将深入探讨如何利用Freemarker进行模板设计,并结合自定义标签来增强模板的功能。 首先,让我们理解Freemarker的基础知识。Freemarker是一个与语言无关的模板引擎,它...

    用户自定义标签.

    JSP自定义标签是用户定义的JSP语言元素,可以看成是一种通过标签处理器生成基于XML脚本的方法。自定义标签在功能上和逻辑上都与JavaBean类似,都是一组可重用的组件代码。相较于JavaBean,自定义标签可以使Web开发者...

Global site tag (gtag.js) - Google Analytics