自定义标签jsp2格式
在写自定义标签时候是不是感觉很烦啊,其实人家也是这样认为的,于是我们的jsp新的标准对标签进行了更改,使我们用起来更简单。到底哪里简单呢?看看代码再说咯:
还是老规矩,先上一个标签的逻辑类:
1.
package com.java.tag;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import javax.servlet.jsp.tagext.TagSupport;
public class IterateSimpleTag extends SimpleTagSupport{
/**
*
*/
private static final long serialVersionUID = 1L;
private String var;
private String items;
public String getVar() {
return var;
}
public void setVar(String var) {
this.var = var;
}
public String getItems() {
return items;
}
public void setItems(String items) {
this.items = items;
}
@Override
public void doTag() throws JspException, IOException {
Object value=this.getJspContext().getAttribute(items);//直接名为items的集合
if(value!=null && value instanceof List){//如果集合为List类型
Iterator iter=((List)value).iterator();//那么将集合转为iterator
while(iter.hasNext()){//循环iterator
this.getJspContext().setAttribute(var, iter.next());//直接把iterator的元素塞给var
this.getJspBody().invoke(null); // 响应页面---var显示出来
}
}
}
}
2.配置我们的描述文件吧~
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
version="2.1">
<tlib-version>1.0</tlib-version>
<short-name>javaTag</short-name>
<tag>
<name>iterate2</name>
<tag-class>
com.java.tag.IterateSimpleTag
</tag-class>
<!--此处必须这样写--->
<body-content>scriptless</body-content>
<attribute>
<name>var</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>items</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
最新文章
- git error: unable to rewind rpc post data - try increasing http.postBuffer
- 【hihoCoder】1121:二分图一&#183;二分图判定
- POJ1236Network of Schools[强连通分量|缩点]
- 从Prototype学习JavaScript面向对象编程
- eclipse svn
- 创建优雅表格的8个js工具
- Java 实现Md5算法
- JS的substr与substring的区别
- QNX驱动开发——中断处理(转载)
- 关于ASP.NET Web Api的HelpPage文档注释问题
- 分布式版本控制git常见问题之gitignore冲突
- SQL Server 历史SQL执行记录
- 马凯军201771010116《面向对象与程序设计Java》第十七周学习总结
- 汇总java生态圈常用技术框架、开源中间件,系统架构及经典案例等
- 一言难尽的js变量提升
- mysql的innodb和myisam的区别和应用场景
- asp.net 连接SQL Server 数据库并进行相关操作
- LightOJ 1151 Snakes and Ladders(概率DP + 高斯消元)
- poi导出excel合并单元格(包括列合并、行合并)
- linux centOS6 nexus 开启自动启动