JSP自定义标签(二)- 传递属性
来源:互联网 发布:断食四天减肥知乎 编辑:程序博客网 时间:2024/05/22 15:56
上一篇写了一个简单的标签,输出的内容都是写死的。这一篇定义一个标签,内容是可以自己编辑的。
首先说一下,我大概要干什么:我想定义这样一个标签,我传给标签两个字符串(一个header,一个items),标签最后会按照table的形式展现出来。
同样要做两件事:
编写标签处理器
注册标签
标签处理器:
package myTag;import java.io.IOException;import java.util.StringTokenizer;import javax.servlet.jsp.JspContext;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.tagext.SimpleTagSupport;public class SecondTag extends SimpleTagSupport { /* 标签要接收的属性 */ private String header; private String items; /* sett,gett方法*/ public void setHeader(String header) { this.header = header; } public void setItems(String items) { this.items = items; } public String getHeader() { return header; } public String getItems() { return items; } public void doTag() throws IOException, JspException { JspContext context = getJspContext(); /* 得到输出对象 */ JspWriter out = context.getOut(); out.print("<table style='border:1px solid green'>\n" + "<tr>" + "<td><span style='font-weight:bole'>" + getHeader() + "</span></td>" + "</tr>"); StringTokenizer tokenizer = new StringTokenizer(getItems(), ","); while(tokenizer.hasMoreElements()) { String token = tokenizer.nextToken(); out.print("<tr>" + "<td>" + token + "</td>" + "</tr>"); } out.print("</table>"); }}
注册标签:
<!-- Second Tag --> <tag> <name>dataFormatter</name> <tag-class>myTag.SecondTag</tag-class> <body-content>empty</body-content> <attribute><!-- header --> <name>header</name> <required>true</required> </attribute> <attribute><!-- 类容 --> <name>items</name> <required>true</required> </attribute> </tag>
jsp:
<%@ taglib uri="/WEB-INF/mytags.tld" prefix="easy" %><%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %><html> <head></head> <meta charset="UTF-8"> <body> <h1>第一个标签</h1> <easy:firstTag></easy:firstTag> <br/> <h1>第二个标签</h1> <easy:dataFormatter header="标题" items="A,B,C" /> <!-- 可变的输出类容完成 --> </body></html><!-- <%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>这个不加会出现乱码,如果加上还有乱码,就再去找一下原因,注意jsp的文件编码。 -->
运行结果:
(其实自定义标签比较简单,可以理解为定义一个类,然后在类里面获得JspWriter对象,接下来,想怎么输出都可以了)
阅读全文
0 0
- JSP自定义标签(二)- 传递属性
- jsp自定义标签(二)
- JSP的自定义标签(二)之带属性的标签
- JSP自定义标签(包含属性)
- JSP自定义标签(二):JSP传统标签
- 【JavaWeb探究】自定义JSP标签(二)
- JSP自定义标签实例(二)
- JSP自定义标签rtexprvalue属性
- JSP自定义标签rtexprvalue属性
- JSP自定义标签rtexprvalue属性
- JSP自定义标签rtexprvalue属性
- jsp页面自定义标签属性
- 自定义JSP中的Taglib标签之二带自定义属性的标签
- 自定义JSP中的Taglib标签之二带自定义属性的标签
- JSP自定义标签(2):带属性的自定义标签
- JSP中自定义标签属性配置说明
- JSP自定义标签系列---rtexprvalue属性
- JSP带有属性的自定义标签
- 51nod--1134 最长递增子序列
- stm32f103应用rt-thread 1.2.5搭建的Keil工程
- Oracle数据库(面试题)
- Eclipse neon中找不到server
- 荆棘之路【2】雾里看花
- JSP自定义标签(二)- 传递属性
- Tyvj P4868 天天和不可描述
- likely和unlikely
- 二叉树的层序遍历
- rabbitmq 安装
- BZOJ 3514 [LCT][主席树]
- 基本数据类型装箱拆箱,与转换方法,BigDecimal运算,Random随机数
- PHP获取文件扩展名的方法
- OC NSString(NSMutableString),NSArray(NSMutableArray)