(1):标签库的一个文本描述。
(2):指定标签库的版本。
(3):为标签定义简短的名字,在taglib指令中可作为首选的前缀名使用。
(4):定义一个URI,用于唯一地标识此标签库。
(5):用于指定自定义标签的相关信息。
(6):为标签库指定一个简短的别名。
(7):为标签库指定大小为16×16的小图标(gif或jpeg格式),该图标可在图形界面工具中显示。
(8):为标签库指定大小为32×32的大图标(gif或jpeg格式),该图标可在图形界面工具中显示。
(9):为标签库提供一个验证器。
(10):为标签库提供一个监听器。
(11):用于描述标签文件。
(12):用于指定在表达式语言中使用的函数。
(6)案例说明
//根据条件是否成立,决定是否执行标签体
public class TagDemo1 extends TagSupport {
@Override
public int doStartTag() throws JspException {
return Tag.SKIP_BODY;
}
}
页面:
控制标签体是否执行xxxxxxxxxxxxxxx
2.忽略内容
public class TagDemo2 extends TagSupport {
@Override
public int doEndTag() throws JspException {
return Tag.SKIP_PAGE;
}
}
页面:
用标签控制整个jsp是否执行This is my JSP page.
3.//控制标签体重复执行10次
public class TagDemo3 extends TagSupport {
int x = 10;
@Override
public int doStartTag() throws JspException {
return Tag.EVAL_BODY_INCLUDE;
}
@Override
public int doAfterBody() throws JspException {
if(x>1){
x--;
return IterationTag.EVAL_BODY_AGAIN;
}else{
return Tag.SKIP_BODY;
}
}
}
页面:
用标签控制页面内容重复执行aaaa
4.
public class TagDemo4 extends BodyTagSupport {
@Override
public int doStartTag() throws JspException {
return BodyTag.EVAL_BODY_BUFFERED;
}
@Override
public int doEndTag() throws JspException {
BodyContent bt = this.bodyContent;
String content = bt.getString();
content = content.toUpperCase();
JspWriter out = this.pageContext.getOut();
try {
out.write(content);
} catch (IOException e) {
throw new RuntimeException(e);
}
return super.doEndTag();
}
}
页面:
修改jsp页面内容aaaaa
5.配置描述文件
demo1
web_16.tag.TagDemo1
JSP
demo2
web_16.tag.TagDemo2
empty
demo3
web_16.tag.TagDemo3
JSP
demo4
web_16.tag.TagDemo4
JSP