JSP自定义标签(3)
来源:互联网 发布:php学java要多久 编辑:程序博客网 时间:2024/06/07 04:59
八、SimpleTagSupport类
在JSP2.0后,为了简化标签开发的难度,就可以使用SimpleTagSupport进行开发;
1.开发一般标签
注意点:
(1)需要继承SimpleTagSupport类;
(2)实现public void doTag()throws JspException,IOException;
(3)super.getJspContext().getOut().write("...."); 进行输出;
(4)在SimpleTagSupport中,tld中的<body-content>内容不能为JSP,如果标签体不为空,则只能为scriptless;
代码:
SimpleTagSupportDemo.java
package org.tagext;import javax.servlet.jsp.tagext.*;import javax.servlet.jsp.*;import java.io.*;public class SimpleTagSupportDemo extends SimpleTagSupport{private String name;public String getName(){return name;}public void setName(String name){this.name = name;}public void doTag()throws JspException,IOException{super.getJspContext().getOut().write("<h3>"+name+"</h3>");}}
2.开发迭代标签
通过super.getJspBody().invoke(null);能够执行标签体内容;
SimpleTagSupportDemo.java
package org.tagext;import javax.servlet.jsp.tagext.*;import javax.servlet.jsp.*;import java.io.*;import java.util.*;public class SimpleTagSupportDemo extends SimpleTagSupport{private String name;private String id;public String getName(){return name;}public void setName(String name){this.name = name;}public String getId(){return id;}public void setId(String id){this.id = id;}public void doTag()throws JspException,IOException{Object value = super.getJspContext().getAttribute(name,PageContext.PAGE_SCOPE);Iterator<String> iter = ((List<String>)value).iterator();while(iter.hasNext()){super.getJspContext().setAttribute(id,iter.next());super.getJspBody().invoke(null);}}}
综合看来,SimpleTagSupport比起前面的TagSupport,BodyTagSupport,简单了许多,不需要任何返回值;
九、常见问题
1.区分是否有标签体
<xiazdong:hello name="">
</xiazdong:hello>
是属于有标签体的,只是标签体为空;
<xiazdong:hello name=""/>为标签体为空;
- JSP自定义标签(3)
- jsp自定义标签-3
- JSP标签自定义(3)---setProperty
- [学习笔记]JSP自定义标签(3)
- JSP自定义标签(一):自定义JSP简单标签
- jsp学习3-自定义标签
- JSP自定义标签(tag)
- JSP自定义标签(一)
- jsp自定义标签(一)
- jsp自定义标签(二)
- JSP自定义标签(1)
- JSP自定义标签(2)
- JSP 自定义标签(Tag)
- jsp 自定义标签(1)
- jsp 自定义标签(2)
- JSP自定义标签(java)
- JSP自定义标签(一)
- 周记(jsp自定义标签)
- IT人如何找到自己的时间?
- 使用xcopy删除所有的.svn
- FORK()函数的理解
- 内建函数
- 自描肖像
- JSP自定义标签(3)
- poj 2421 Constructing Roads
- nginx扩展直接生成应用,不用通过编程语言,实例
- JOJ2520:A special queen
- js的树形结构怎么实现
- oracle中如何移动表空间
- 内建函数解析
- C++程序设计之四书五经/C++学习书籍介绍
- 去掉window关闭时候的弹出框