JSP自定义标签开发入门

一、自定义标签的作用

  自定义标签主要用于移除Jsp页面中的java代码。

二、自定义标签开发和使用

2.1、自定义标签开发步骤

1、编写一个实现TagSupport接口的Java类(标签处理器类)

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
import org.apache.commons.lang.StringUtils;
import java.io.IOException;

public class ResourceTags extends TagSupport {
	//参数
	private String url;
    private String className;

    @Override
    public int doStartTag() throws JspException {
    	StringBuffer stringBuffer = new StringBuffer();
    	if(StringUtils.isNotEmpty(url)){
    		stringBuffer.append("
"); stringBuffer.append(""); stringBuffer.append("
"); } JspWriter out = pageContext.getOut(); try { out.write(stringBuffer.toString());//输出到jsp页面 } catch (IOException e) { e.printStackTrace(); } return EVAL_BODY_INCLUDE; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } }

 2、在WEB-INF/目录下新建tld文件,在tld文件中对标签处理器类进行描述

 ResourceTags.tld文件的代码如下:

 



	
    1.0
	
    role
    
    http://jsp/user/defined/tag
    
	    
        resource
        
        com.sf.sfbuy2.tags.ResourceTags
		
        JSP
        
            
			
            url
			
            true
			
            false
        
        
            
            className
            false
            false
        
    

 

2、配置web.xml

(1)作用

在web.xml中进行标签配置文件的设置,告诉web应用程序,需要调用的自定义标签在哪里。

(2)前提

在标签配置文件中,如果没有进行的配置,则必须进行web.xml的配置。如果已经配置了uri元素的值,就不需要进行web.xml的配置,可以直接在jsp上调用。uri表现在JSP页面引入标签时候,需为taglib指令指定uri,注意和TLD文件中的标签类的别名name区分,那个是在JSP页面中调用标签时候命名空间后面写入。

(3)配置(如上图在WEB.XML中的配置)

所有的标签配置文件的配置,都必须在元素中。每个配置文件有自己元素。

标签配置文件的物理地址

标签配置文件的调用别名

http://jsp/user/defined/tag

/WEB-INF/ResourceTags.tld

在Jsp页面中使用自定义标签

  使用"<%@taglib uri="标签库的uri"  prefix="标签的使用前缀"%>"指令引入要使用的标签库。

例如:在jsp中引用http://jsp/user/defined/tag标签库

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib uri="http://jsp/user/defined/tag" prefix="ud"%>






title
<%@ include file="/WEB-INF/views/common/common.jsp" %>


使用自定义标签显示指定的图片

 

你可能感兴趣的:(JavaWeb)