关于自定义标签 jsp
来源:互联网 发布:windows 关闭窗口 编辑:程序博客网 时间:2024/05/02 16:29
自定义标签的使用需要四步:
第一、编写用于实现功能的.java 文件。
第二、编写该 .java 文件对应的 .tdl文件。
第三、在web.xml中添加你自定义的标签
第四、在页面的头中,引入,然后在页面中使用。
举例:以List标签为例
第一、编写用于实现功能的.java 文件。
package com.gwssi.wssl.taglib;
import java.util.*;
import javax.servlet.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import org.jdom.*;
public class ListTag extends BodyTagSupport {
StringBuffer results = new StringBuffer();
private String key;
public void setKey(String key) {
this.key = key;
}
public String getKey() {
return key;
}
public ListTag() {
}
public int doStartTag() throws JspException {
return EVAL_BODY_BUFFERED;
}
public int doEndTag() throws JspException {
//获得请求对象
ServletRequest request = pageContext.getRequest();
//从请求对象中获得元素对象
Element e = (Element) request.getAttribute(key);
if (e != null) {
//从元素对象中获得子对象集
String other=e.getAttributeValue("other");
List children = e.getChildren();
Iterator iterator = children.iterator();
while (iterator.hasNext()) {
Element row = (Element) iterator.next();
List attributes = row.getAttributes();
Iterator it = attributes.iterator();
results.append("<tr>");
while (it.hasNext()) {
Attribute attributename = (Attribute) it.next();
String attributevalue = attributename.getValue();
results.append("<td ");
results.append(other);
results.append(">");
results.append(attributevalue);
results.append("</td>");
}
results.append("</tr>");
}
}
try {
pageContext.getOut().println(results);
} catch (Exception ex) {
System.out.println(new Date().getTime());
ex.printStackTrace();
}
return super.doEndTag();
}
public int doAfterBody() throws JspException {
return SKIP_BODY;
}
public void release() {
bodyContent = null;
super.release();
}
}
第二、编写该 .java 文件对应的 .tdl文件。
<?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.1</jspversion>
<shortname>saic</shortname>
<uri>http://jakarta.apache.org/struts/tags-template</uri>
<tag>
<name>list</name>
<tagclass>com.gwssi.wssl.taglib.ListTag</tagclass>
<bodycontent>JSP</bodycontent>
<attribute>
<name>key</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
第三、在web.xml中添加你自定义的标签 (wssl 但实际中却没有这个……)
<taglib>
<taglib-uri>/WEB-INF/saic.tld</taglib-uri>
<taglib-location>/WEB-INF/saic.tld</taglib-location>
</taglib>
第四、在页面的头中,引入,然后在页面中使用。
<%@taglib uri="/WEB-INF/saic.tld" prefix="saic" %>
使用:<saic:list>……</saic:list>
自定义标签的使用需要四步:
第一、编写用于实现功能的.java 文件。
第二、编写该 .java 文件对应的 .tdl文件。
第三、在web.xml中添加你自定义的标签
第四、在页面的头中,引入,然后在页面中使用。
举例:以List标签为例
第一、编写用于实现功能的.java 文件。
package com.gwssi.wssl.taglib;
import java.util.*;
import javax.servlet.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import org.jdom.*;
public class ListTag extends BodyTagSupport {
StringBuffer results = new StringBuffer();
private String key;
public void setKey(String key) {
this.key = key;
}
public String getKey() {
return key;
}
public ListTag() {
}
public int doStartTag() throws JspException {
return EVAL_BODY_BUFFERED;
}
public int doEndTag() throws JspException {
//获得请求对象
ServletRequest request = pageContext.getRequest();
//从请求对象中获得元素对象
Element e = (Element) request.getAttribute(key);
if (e != null) {
//从元素对象中获得子对象集
String other=e.getAttributeValue("other");
List children = e.getChildren();
Iterator iterator = children.iterator();
while (iterator.hasNext()) {
Element row = (Element) iterator.next();
List attributes = row.getAttributes();
Iterator it = attributes.iterator();
results.append("<tr>");
while (it.hasNext()) {
Attribute attributename = (Attribute) it.next();
String attributevalue = attributename.getValue();
results.append("<td ");
results.append(other);
results.append(">");
results.append(attributevalue);
results.append("</td>");
}
results.append("</tr>");
}
}
try {
pageContext.getOut().println(results);
} catch (Exception ex) {
System.out.println(new Date().getTime());
ex.printStackTrace();
}
return super.doEndTag();
}
public int doAfterBody() throws JspException {
return SKIP_BODY;
}
public void release() {
bodyContent = null;
super.release();
}
}
第二、编写该 .java 文件对应的 .tdl文件。
<?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.1</jspversion>
<shortname>saic</shortname>
<uri>http://jakarta.apache.org/struts/tags-template</uri>
<tag>
<name>list</name>
<tagclass>com.gwssi.wssl.taglib.ListTag</tagclass>
<bodycontent>JSP</bodycontent>
<attribute>
<name>key</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
第三、在web.xml中添加你自定义的标签 (wssl 但实际中却没有这个……)
<taglib>
<taglib-uri>/WEB-INF/saic.tld</taglib-uri>
<taglib-location>/WEB-INF/saic.tld</taglib-location>
</taglib>
第四、在页面的头中,引入,然后在页面中使用。
<%@taglib uri="/WEB-INF/saic.tld" prefix="saic" %>
使用:<saic:list>……</saic:list>
自定义标签的使用需要四步:
第一、编写用于实现功能的.java 文件。
第二、编写该 .java 文件对应的 .tdl文件。
第三、在web.xml中添加你自定义的标签
第四、在页面的头中,引入,然后在页面中使用。
举例:以List标签为例
第一、编写用于实现功能的.java 文件。
package com.gwssi.wssl.taglib;
import java.util.*;
import javax.servlet.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import org.jdom.*;
public class ListTag extends BodyTagSupport {
StringBuffer results = new StringBuffer();
private String key;
public void setKey(String key) {
this.key = key;
}
public String getKey() {
return key;
}
public ListTag() {
}
public int doStartTag() throws JspException {
return EVAL_BODY_BUFFERED;
}
public int doEndTag() throws JspException {
//获得请求对象
ServletRequest request = pageContext.getRequest();
//从请求对象中获得元素对象
Element e = (Element) request.getAttribute(key);
if (e != null) {
//从元素对象中获得子对象集
String other=e.getAttributeValue("other");
List children = e.getChildren();
Iterator iterator = children.iterator();
while (iterator.hasNext()) {
Element row = (Element) iterator.next();
List attributes = row.getAttributes();
Iterator it = attributes.iterator();
results.append("<tr>");
while (it.hasNext()) {
Attribute attributename = (Attribute) it.next();
String attributevalue = attributename.getValue();
results.append("<td ");
results.append(other);
results.append(">");
results.append(attributevalue);
results.append("</td>");
}
results.append("</tr>");
}
}
try {
pageContext.getOut().println(results);
} catch (Exception ex) {
System.out.println(new Date().getTime());
ex.printStackTrace();
}
return super.doEndTag();
}
public int doAfterBody() throws JspException {
return SKIP_BODY;
}
public void release() {
bodyContent = null;
super.release();
}
}
第二、编写该 .java 文件对应的 .tdl文件。
<?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.1</jspversion>
<shortname>saic</shortname>
<uri>http://jakarta.apache.org/struts/tags-template</uri>
<tag>
<name>list</name>
<tagclass>com.gwssi.wssl.taglib.ListTag</tagclass>
<bodycontent>JSP</bodycontent>
<attribute>
<name>key</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
第三、在web.xml中添加你自定义的标签 (wssl 但实际中却没有这个……)
<taglib>
<taglib-uri>/WEB-INF/saic.tld</taglib-uri>
<taglib-location>/WEB-INF/saic.tld</taglib-location>
</taglib>
第四、在页面的头中,引入,然后在页面中使用。
<%@taglib uri="/WEB-INF/saic.tld" prefix="saic" %>
使用:<saic:list>……</saic:list>
- 关于自定义标签 jsp
- 关于自定义标签 jsp
- 关于jsp自定义标签
- 关于jsp自定义标签的学习
- 关于jsp自定义标签的使用jsp报错
- 关于JSP自定义标签的几点说明
- 关于JSP自定义标签的几点说明
- 关于jsp页面自定义jstl标签简单项目配置
- JSP----自定义标签---简单标签
- jsp自定义标签-----嵌套标签
- JSP标签编程----自定义标签
- JSP 自定义标签:简单标签
- JSP标签-JSTL-自定义标签
- JSP自定义标签-Select标签
- jsp 自定义标签---标签文件
- JSP自定义标签
- JSP自定义标签学习心得
- JSP自定义标签试验
- 今天用了下Zeus
- 任何东西不要用过了头
- 什么是QName
- 用Visual C#调用Windows API函数
- C#中获取程序当前路径的方法
- 关于自定义标签 jsp
- 夜了,为什么还不想睡
- 大连“国际开源日”归来
- 玩转DataGridView
- 在Windows系统中用VC++实现钩子机制
- windows钩子简介
- 利用鼠标键盘钩子截获密码
- 当幸福来敲门
- 看看让流媒体文件无处可藏