JSP 2.x用SimpleTag开发自定义标签的方法
来源:互联网 发布:世界贸易组织数据库 编辑:程序博客网 时间:2024/06/04 18:16
之前我们编写自定义标签用的是Jsp1.x标签的做法
自定义标签:
实现Tag接口,或者继承TagSupport类
自定义标签体:
实现BodyTag接口,或者继承BodyTagSupport类
我们重写的是doStartTag()或者doEndTag()方法
现在我们用Jsp2.x标签:
标签处理类(标签体)
实现SimpleTag接口,或者继承SimpleTagSupport接口
这次我们重写的是doTag方法
在Jsp2.x标签中:
JspWriter out = this.getJspContext().getOut;获取输出对象
这里面没有pageContext对象
下面举一个例子来进一步说明吧(把两个数相加,再加上标签体内容)
Add.java类:
package javastudy;
import java.io.IOException;
import java.io.StringWriter;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.JspFragment;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class Add extends SimpleTagSupport {
String num1;
String num2;
public void setNum1(String num1) {
this.num1 = num1;
}
public void setNum2(String num2) {
this.num2 = num2;
}
@Override
public void doTag() throws JspException, IOException {
JspWriter out = this.getJspContext().getOut();
int num = Integer.parseInt(num1)+Integer.parseInt(num2);
JspFragment frag = this.getJspBody();///得到标签体
StringWriter sw = new StringWriter();//新建一个字符串流
frag.invoke(sw);///将标签体的内容输出到这个字符串的流中
num = num + Integer.parseInt(sw.toString());///将字符流
的内容转换成字符串,也就是从字符流中得到里面的字符串
out.println(num);
super.doTag();
}
}
tld文件:
<tag>
<name>d</name>
<tag-class>javastudy.Add</tag-class>
<body-content>tagdependent</body-content>
<attribute>
<name>num1</name>
<required>true</required>
</attribute>
<attribute>
<name>num2</name>
<required>true</required>
</attribute>
</tag>
jsp文件中:
<my:d num2="500" num1="200">300</my:d>
最后输出1000
自定义标签:
实现Tag接口,或者继承TagSupport类
自定义标签体:
实现BodyTag接口,或者继承BodyTagSupport类
我们重写的是doStartTag()或者doEndTag()方法
现在我们用Jsp2.x标签:
标签处理类(标签体)
实现SimpleTag接口,或者继承SimpleTagSupport接口
这次我们重写的是doTag方法
在Jsp2.x标签中:
JspWriter out = this.getJspContext().getOut;获取输出对象
这里面没有pageContext对象
下面举一个例子来进一步说明吧(把两个数相加,再加上标签体内容)
Add.java类:
package javastudy;
import java.io.IOException;
import java.io.StringWriter;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.JspFragment;
import javax.servlet.jsp.tagext.SimpleTagSupport;
public class Add extends SimpleTagSupport {
String num1;
String num2;
public void setNum1(String num1) {
this.num1 = num1;
}
public void setNum2(String num2) {
this.num2 = num2;
}
@Override
public void doTag() throws JspException, IOException {
JspWriter out = this.getJspContext().getOut();
int num = Integer.parseInt(num1)+Integer.parseInt(num2);
JspFragment frag = this.getJspBody();///得到标签体
StringWriter sw = new StringWriter();//新建一个字符串流
frag.invoke(sw);///将标签体的内容输出到这个字符串的流中
num = num + Integer.parseInt(sw.toString());///将字符流
的内容转换成字符串,也就是从字符流中得到里面的字符串
out.println(num);
super.doTag();
}
}
tld文件:
<tag>
<name>d</name>
<tag-class>javastudy.Add</tag-class>
<body-content>tagdependent</body-content>
<attribute>
<name>num1</name>
<required>true</required>
</attribute>
<attribute>
<name>num2</name>
<required>true</required>
</attribute>
</tag>
jsp文件中:
<my:d num2="500" num1="200">300</my:d>
最后输出1000
阅读全文
0 0
- JSP 2.x用SimpleTag开发自定义标签的方法
- jsp自定义标签(6):开发SimpleTag标签
- 自定义标签之 SimpleTag的开发
- JSP自定义标签之 SimpleTag
- jsp自定义标签接口-SimpleTag
- 使用SimpleTag支持自定义JSP标签
- 开发SimpleTag标签
- jsp开发自定义标签方法
- JSP 2.x 自定义标签
- JSP 2.x中另一种自定义标签编写方法
- JSP自定义标签(4):开发jsp嵌套的标签
- jsp自定义标签开发
- JSP自定义标签开发
- 【jsp】开发自定义标签
- JSP自定义标签开发
- JSP自定义标签开发
- JSP自定义标签开发
- JSP自定义标签开发
- 在Android Studio中引用第三方插件
- 导出Sql数据库文件mdf
- Android_图片截取放大
- vm12 centos7 无法共享文件
- js正则表达式验证大全
- JSP 2.x用SimpleTag开发自定义标签的方法
- MAC Python3&virtualenv&virtualenvwrapper安装
- PMP学习笔记(三)
- 关于jdk1.8中内部类访问局部变量不再需要添加final修饰符的新特性
- PTA 4-7 统计某类完全平方数
- Hive之Table
- Linux子进程的异步等待方式
- 接口测试 [分享] 自动化测试与持续集成方案--Jmeter 测试接口及性能
- TensorFlow 图像预处理(一) 图像编解码,图像尺寸调整