迭代映射、集合、数组、基本类型数组元素和jar的打包

一、用简单标签来迭代集合元素
Tag处理器的源码:
public void doTag() throws JspException, IOException {
// TODO Auto-generated method stub
//先判定一下是什么类型的
Collection collection=null;
if(items instanceof Map){
Map map=(Map)items;
//两列的集合转换成单列
collection=map.entrySet();

//Collection是set集合或者list集合不再是映射
}else if(items instanceof Collection){
collection=(Collection)items;
//判断对象是否是不是数组的类型
}else if(items instanceof Object[]){
Object[] obj=(Object[])items;
//将指定数组转换成集合对象
collection=Arrays.asList(obj);
//利用反射机制 判断是否是基本类型的数组
}else if(items.getClass().isArray()){
collection=new ArrayList();
int length=Array.getLength(items);
for(int i=0;i<length;i++){
collection.add(Array.get(items, i));
}
}
Iterator it=collection.iterator();
while (it.hasNext()) {
Object obj = it.next();// 元素
this.getJspContext().setAttribute(var, obj);
this.getJspBody().invoke(null);
}
}


1、集合测试<br>
  <%
  List list=new ArrayList(); 
  list.add("aaaa");
  list.add("bbbb");
  list.add("cccc");
  list.add("dddd");
  request.setAttribute("list",list);
  %>
 
    <f:foreach items="${list}" var="str">${str}<br></f:foreach>
    <br>--------------------------<br>
    <%--映射--%>
2、映射测试<br>
    <%Map map=new HashMap();
    map.put("aa","zhangsan");
    map.put("bb","zzzzzz");
    map.put("cc","ssssss");
    map.put("dd","qqqqqq");
    map.put("ff","gggggggg");
    request.setAttribute("map",map);
     %>
     <f:foreach items="${map}" var="str">${str}<br></f:foreach>
     <%--数组 --%>
3、对象数组<br>
     <%
     Integer[] num={1,2,3,4,5};
     request.setAttribute("num",num);
      %>
      <f:foreach items="${num}" var="str">${str}</f:foreach>
      <br>-------------------------------<br/> 
4、基本类型数组<br>
        <%
     int[] number={1,2,3,4,5};
     request.setAttribute("number",number);
      %>
      <f:foreach items="${number}" var="str">${str}</f:foreach>


      <%--字符串数组的测试 --%>
      <br>----------------------<br/>
5、字符串数组测试<br>
          <%
    String[] ss={"aaa","bbb","ccc","ddd","eee"};
     request.setAttribute("ss",ss);
      %>
      <f:foreach items="${ss}" var="str">${str}</f:foreach>






二、自定义标签的打包
jar包:标签处理器以及(META-INF)tld文件打成一个jar包
先找到文件的class字节码文件,将字节码所在的包中的文件拷贝出来 然后新建一个META-INF 把tld文件放置进去
打开cmd
jar命令:首先先进入文件夹,进入文件夹后, jar cvf 命名.jar .    完成打包


简单打包方式:
创建一个java项目
将web项目的中的处理器的包拷贝到里面
在项目中新建一个META-INF文件夹将所有tld存放
然后将项目 右键导出  将右边勾选MyEclipse的选项取消
就可以打包成jar文件了


最简单的打包方式。 用压缩工具直接压缩。  注意:文件格式不能错误
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值