自定义标签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>
自定义标签jsp2格式的更多相关文章
- JSP2的自定义标签和方法
Jsp2的自定义标签 Jsp2 开发标签库的几个步骤: 开发自定义标签处理类. 建立一个*.tld文件,每个tld文件对应一个标签库,每个标签库可对应多个标签. 在jsp文件中使用自定义标签 空标签 ...
- [JSP]自定义标签库taglib
自定义标签的步骤 自定义标签的步骤大概有三步: 1.继承javax.servlet.jsp.tagext.*下提供的几个标签类,如Tag.TagSupport.BodyTagSupport.Simpl ...
- [转]Android中attr自定义标签详解
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:wen= ...
- Java精选笔记_自定义标签
自定义标签 自定义标签入门 什么是自定义标签 自定义标签可以有效地将HTML代码与Java代码分离,从而使不懂Java编程的HTML设计人员也可以编写出功能强大的JSP页面 JSP规范中定义了多个用于 ...
- 【转载】Android中attr自定义标签详解
原文链接:http://blog.sina.com.cn/s/blog_62ef2f14010105vi.html:仅对排版进行优化,更方便阅读 <LinearLayout xmlns:andr ...
- JSP2 的自定义标签
在 JSP 中开发标签库只需如下几个步骤 1.开发自定义标签处理类 2.建立一个 *.tld 文件,每个 *.tld 文件对应一个标签库,每个标签库可包含多个标签 3.在 JSP 文件中使用自定义标签 ...
- JSP2.2自定义标签、EL函数
简介 JSTL是一个JSP标准标签库,可以解决大部分问题,但是如果我们需要一些更特殊的功能,就需要自定义类似JSTL中标签的标签.如果EL表达式无法满足我们的需求,我们也可以自定义EL函数. tld后 ...
- Jsp开发自定义标签,自定义标签将字符串转成指定的时间格式显示
本例以将 字符串格式的时间转成指定的时间格式显示. 第一步.定义一个标签处理程序类,需要集成javax.servlet.jsp.tagext.TagSupport,代码如下: import java. ...
- sax解析xml,验证格式并支持自定义标签
一.sax简介 SAX是事件驱动型的XML解析方式.顺序读取XML文件,生成事件,传播到用户定义的回调方法中来处理XML文件. 优点: 分段处理xml,而不是将整个xml一次加载进内存,内存占用少,速 ...
随机推荐
- win10 ObservableCollection 排序自动收缩问题
ObservableCollection本身是没有排序Sort功能的,不过我们可以通过冒泡排序来实现,以下是扩展功能: public static void Sort<T>(this Ob ...
- 2、R-reshape2-melt
1.melt: 短数据转长数据 (1).融合的数据为数组.表以及矩阵,melt的表达式为: melt(data, varnames = names(dimnames(data)), . ...
- Linux做脚本定时任务(定时清理日志)
无论一些面试问题,还是实际应用,都会用到虚拟机的定时任务.现做定时清理日志日志做一总结. 1.查看/etc/crontab文件. linux 系统则是由 cron (crond) 这个系统服务来控制的 ...
- CloseHandle()函数的使用
CloseHandle()函数的使用?? 很多程序在创建线程都这样写的:............ThreadHandle = CreateThread(NULL,0,.....);CloseHande ...
- JEECMS-新闻内容中遍历批量上传的图片
[#list content.pictures as p] <li value="${p_index+1}"> <img src="${p.imgPat ...
- Fiddler如何抓取HTTPS协议的网页
Fiddler默认只能抓取HTTP协议的网页,不能抓取HTTPS协议的网页,而我们很多时候,都需要抓HTTPS协议的网页,比如抓淘宝数据等.今天,韦玮老师会为大家讲解如何使用Fiddler抓取HTTP ...
- PyCharm中导入第三方包
在Windows中的PyCharm中导入模块的方法 1.在file-->setting-->project interpreter中 2,点击右上角加号,搜索要添加的第三方库的名称,得到后 ...
- nginx限制恶意IP处理方法
思考了几种方案,最终考虑使用ip黑名单的方式: 处理方法: 一.nginx黑名单方式: 1.过滤日志访问API接口的IP,统计每10分钟调用超过100次的IP,直接丢进nginx的访问黑名单 2.具体 ...
- ue4 杂记
c++获取GameMode if(GetWorld()) { auto gamemode = (ASomeGameMode*)GetWorld()->GetAuthGameMode(); } 或 ...
- 3DMAX 多维材质及对应的UVW展开,UVW贴图
多维材质说明 多维材质就是一个模型多个材质,(混合材质是多个材质混一起,跟这个貌似没关,比如地表草地,泥土等的混合操作) 作用: 比如一个模型就是需要两种材质,刀的金属刀身,木质刀柄,墙的一面是木板, ...