如何实现自定义标签

简单介绍一下自定义标签的创建方法,很简单也很实用。我这里是创建了一个select自定义标签,使用这个标签会在jsp页面上自动呈现一个select下拉框。如下图所示:

如何实现自定义标签_第1张图片

一、配置tid标签文件

这个配置文件一般会放在web-inf文件夹下,因为在web.xml文件中需要配置这个配置文件的路径,所以习惯放在这里。直接贴代码:

  

    1.2
    zd_dict
    zd  
    
        dict  
        数据字典
        com.zd.control.tag.DitcTag    
        empty
        
        
            id
            true
            false
     	
     	
            name
            false
            false
     	
    
二、编写tag实现类

package com.zd.control.util;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.zd.model.system.DictionaryManage;
import com.zd.model.system.UserManage;
import com.zd.service.inter.system.DictionaryManageService;

/**
 * @author zhangQiFeng
 * @version :
 */
public class DitcTag extends TagSupport{
	private static final long serialVersionUID = 1L;
	//参数
	public String id;//给select定义一个id(必须)
	public String name;//name映射(不是必须)
	
	public static DictionaryManageService dictionaryManageService;
	public static ApplicationContext context=null;
	static{
		context=new ClassPathXmlApplicationContext("applicationContext.xml");//创建spring实体类上下文
		dictionaryManageService = (DictionaryManageService)context.getBean("dictionaryService");
	}
	public int doStartTag()throws JspException{  
		//获取session中的用户对象
		UserManage user = (UserManage)super.pageContext.getSession().getAttribute("user");
		JspWriter out = super.pageContext.getOut(); 
		//存储标签结果
		List dataList = new ArrayList();
		//设置标签内容
		String result = "";
			out.println(result);
		}catch(Exception e){
			e.printStackTrace();
		}  
		return TagSupport.SKIP_BODY;  
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}
三、配置web.xml


	  
	      
	        zd_dict 
	        /WEB-INF/tag/dict.tld  
	      
    
四、实用方法

头部引入:<%@ taglib prefix="zd" uri="zd_dict" %> 
使用方法:

参数解释:
参数名称    是否必填    类型      默认值    释义
id;         必填        字符串    无        //id(必须)
name;       非必填      字符串    无        //name映射(不是必须)



你可能感兴趣的:(标签,Html/css,java,Spring,自定义标签,EL表达式,fn标签,web.xml,标签)