破晓博客-自定义标签的开发
Foreach自定义标签的开发(适用于各种集合)
package com.lovesmile.oa.web.mytag;
import java.io.IOException;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
/**
* 自定义标签开发(Foreach)
* @author 微笑风采
*
*/
public class Foreach extends SimpleTagSupport {
private Object items;//集合
private String var;//范围存储参数
private Collection collection;//用单链集合储存
public void setItems(Object items) {
this.items = items;
if(items==null){
collection=null;
}
if(items instanceof Map){
this.collection=((Map)items).entrySet();
}
if(items instanceof List){
this.collection=(Collection) items;
}
if(items.getClass().isArray()){
this.collection=new ArrayList();
int length=Array.getLength(items);
for (int i = 0; i < length; i++) {
this.collection.add(Array.get(items, i));
}
}
}
public void setVar(String var) {
this.var = var;
}
@Override
public void doTag() throws JspException, IOException {
if(collection==null)return;
Iterator it = collection.iterator();//迭代
while(it.hasNext()){
Object value=it.next();
this.getJspContext().setAttribute(var, value);//重复更新参数,输出
this.getJspBody().invoke(null);
}
super.doTag();
}
}
xml中的配置参数()
<!-- foreach -->
<tag>
<name>Foreach</name>
<tag-class>com.lovesmile.oa.web.mytag.Foreach</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>items</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>var</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
破晓博客-自定义标签的开发相关推荐
- java毕业论文_【毕业论文】基于java的博客网站设计与开发毕业论文(word文档)
<[毕业论文]基于java的博客网站设计与开发毕业论文.doc>由会员分享,可免费在线阅读全文,更多与<[毕业论文]基于java的博客网站设计与开发毕业论文(word文档)>相 ...
- YDOOK:CSDN博客自定义模块图片
YDOOK:CSDN博客自定义模块图片 © YDOOK JY Lin 文章目录 YDOOK:CSDN博客自定义模块图片 © YDOOK JY Lin [外链图片转存失败,源站可能有防盗链机制,建议将图 ...
- CSDN博客第一期移动开发排行榜
为充分展示移动开发方向优秀博主,发掘潜力新星,为想更多了解移动开发方向的博客用户提供平台,CSDN博客频道推出"移动开发排行榜"活动,每月一期.我们将邀请CSDN博客频道活跃的资深 ...
- 前端开发 使用html写一个博客 基本标签的体验 0226
新建一个html文件 写一段文本作为博客的标题 在body中写内容 *号的出现代表,文件有改变 保存文件后消失 快捷键: ctrl + s 效果 当前这个页面已经在一个模拟的服务器上运行了 当代码内容 ...
- 如何在CSDN博客自定义栏目中添加“给我写信”
在"自定义栏目"中添加"连接"(将自己的微博,QQ空间和CSDN博客关联起来)很多人都做过.但是添加"给我写信"这个功能,用的好像不太多.此 ...
- 个人博客三|首页后台开发
声明:本渣渣部分代码参考自TendCode其实有很多代码是不需要自己一行行码出来,生产力是第一位.只有研究型人才需要生产代码,作为一名渣渣拿来用是最高效的做法.程序员都有一个开源的精神,码出来的代码本 ...
- 博客园客户端UAP开发随笔 -- App连接云端内容的桥梁:WebView
当你辛苦的从网上爬下来一篇文章之后,怎么在你的应用内展示这些包含HTML标记的文章?如果你使用的是Javascript开发应用,恭喜你,直接塞进页面就可以了,同时说明你很熟悉页面开发,而现在windo ...
- SpringBoot+Vue博客系统---后端接口开发
Java后端接口开发 从零开始搭建一个项目骨架,最好选择合适,熟悉的技术,并且在未来易拓展,适合微服务化体系等.所以一般以Springboot作为我们的框架基础,这是离不开的了. 然后数据层,我们常用 ...
- 博客园客户端UAP开发随笔 -- App UI设计的三大纪律八项注意
前言 每一个页面都是这个App的门面,尤其是主页面,看上去干净整洁清爽宜人容易操作,那么你的App就成功了一半.这也反映出了你这个开发团队的基本审美素质和设计理念.如果你不是一个团队,而是一个个人开发 ...
最新文章
- python数据结构与算法分析_数据结构与算法(Python版)
- pve 不订阅更新_??“吃鸡”体验服已无更新,暗夜危机2.0或将被1款新游代替
- ]Kinect for Windows SDK开发入门(六):骨骼追踪基础 上
- C++递归或非递归实现求斐波拉契数列第n项
- Linux下安装Apache Maven安装
- linxu命令个人使用总结
- 支付接口被阻拦,支付宝提示ILLEGAL_EXTERFACE
- 用户故事与敏捷方法—发布计划
- 写给 python 程序员的 OpenGL 教程
- poj 2387 最短路 spfa 实现
- Python获取屏幕坐标,自动发送信息
- Linux下编译链接动态库符号问题
- java 实现扑克牌洗牌功能
- 考研408.计算机网络.特殊IP地址的记忆方法
- 解决aria2下载磁力链接或bt文件时没有速度或速度为0
- matlab实时摄像头处理,在MATLAB中调用摄像头实时地显示图像
- linux bootrom ftp,AR路由器通过BootROM FTP方式升级系统文件的示例
- SQL Server之查询检索操作
- Qt quick性能提升[通俗易懂]
- 花开不败(作者:职烨)
热门文章
- 【Python学习】程序练习《购物车程序》
- 科学计算法(机器学习)----决策树定义以相关概念
- django实现利用邮箱进行登录
- codeforces:E. MEX and Increments【贪心 + 略加优化】
- 用VC++6.0制作简易浏览器
- 关于98% after emitting CopyPlugin个人探索
- HTML / CSS 实践练习
- 即将前往下一个饭局,你的牙还好吗?丨钛空舱爆款春节特献
- Minieye-M3 防撞预警产品硬件系统方案---基于AR0132RGB+MTK架构
- 自然语言处理NLP之分词、词性标注(POS)、组块分析(Chunking)、命名实体识别(Named Entity Recognition,简称NER)