自定义标签
来源:互联网 发布:relex软件下载 编辑:程序博客网 时间:2024/06/11 20:05
//标签处理程序
package com.sxy008;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.BodyContent;
import javax.servlet.jsp.tagext.BodyTagSupport;
public class mytag extends BodyTagSupport {
private String name;
public void setName(String name) {
this.name = name;
}
public int doEndTag() {
try {
BodyContent body = this.getBodyContent();//获得主体
String str = body.getString();//获得主体文本内容
JspWriter out =body.getEnclosingWriter();//获得输出对象
out.print(name+str.toUpperCase());//处理
} catch (Exception e) {
System.out.println(e);
}
return 0;
}
}
<WEB-INF/lib/下创建标签描述文件mytld.tld
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<description>JSTL 1.1 core library</description>
<display-name>JSTL core</display-name>
<tlib-version>1.1</tlib-version>
<short-name>xyz</short-name> <!--头文件打开myeclipse搜索*.tld-->
<tag><!--一个标签处理程序的描述文件开始-->
<name>mytag</name> <!--标签使用时候的名称-->
<tag-class>com.sxy008.mytag</tag-class> <!--关联的处理程序-->
<body-content>JSP</body-content> <!--jsp有主体,empty无主体-->
<attribute>
<description>这是一个变量...</description> <!--描述-->
<name>name</name> <!--处理程序里的属性变量名-->
<required>true</required> <!--是否是必须的-->
<rtexprvalue>false</rtexprvalue> <!-是否动态获得值,false静态赋值>
<type>java.lang.String</type><!--name的参数类型-->
</attribute>
</tag><!--一个标签处理程序的描述文件结束-->
<tag>
......
</tag>
</taglib>
自定义标签文件的使用index.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="my" uri="WEB-INF/lib/mytld.tld" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<my:mytag name="转为大写:">abcdef</my:mytag>
</body>
</html>
空标签处理程序(标签描述文件和上面基本一样,须把 <body-content>里改为empty)
package com.sxy008;
import java.io.IOException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class mytag extends SimpleTagSupport {
private String name;
public void setName(String name) {
this.name = name;
}
public void doTag(){
JspWriter out=this.getJspContext().getOut();
try {
out.print("<font color='red'>"+name+"</font>");
} catch (IOException e) {
e.printStackTrace();
}
}
}
使用标签index.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib prefix="my" uri="WEB-INF/lib/mytld.tld" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<my:mytag name="变红色"/>
</body>
</html>
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- SQL SERVER2000字段数据类型缩写表
- fsetpos () 函数
- HTTP POST和GET的区别
- 使用eclipse怎样打开已有工程
- 配置管理工具的选择
- 自定义标签
- 手机电视“1+6”免费模式不可取
- 微软公司软件开发模式简介
- 这个如何可以得到一个1 到 文件个数循环整数,如何可以得到?
- 软件配置管理-团队开发的基石
- 深秋的烦恼
- 八叉树三维数据结构
- Octree Partitioning Techniques
- 浅谈ASP.NET的Postback