欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载  

    jsp简洁自定义标签的forEach遍历及转义字符示例_.docx

    • 资源ID:11651041       资源大小:13.24KB        全文页数:7页
    • 资源格式: DOCX        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    jsp简洁自定义标签的forEach遍历及转义字符示例_.docx

    jsp简洁自定义标签的forEach遍历及转义字符示例_ 这篇文章主要介绍了jsp简洁自定义标签的forEach遍历及转义字符,需要的伴侣可以参考下 接着昨天的,假如forEach中的items类型是map或者Collection类型的,怎样用法增加for循环; 首先还是创建一个标签处理器类,定义两个属性,String var; Object items; 由于items要迭代各种集合,所以要用法Object; 然后重写setter方法; 声明一个成员变量,集合类型的, 和上面两个属性是不相同的,这个是用在类里的, 在items的setter方法中,推断items的类型 然后继承他的doTag方法; 代码如下: public class ForEachTag2 extends SimpleTagSupport private String var; private Object items; private Collection collection; public void setVar(String var) this.var=var; public void setItems(Object items) this.items=items; if(items instanceof Map) Map map = (Map) items; collection = map.entrySet(); if(items instanceof Collection)/set list collection =(Collection) items; if(items.getClass().isArray() collection = new ArrayList(); int len = Array.getLength(items); for(int i=0;ilen;i+) Object obj= Array.get(items, i); collection.add(obj); Override public void doTag() throws JspException, IOException Iterator iterator = collection.iterator(); while(iterator.hasNext() Object obj = iterator.next(); this.getJspContext().setAttribute(var, obj); this.getJspBody().invoke(null); 然后,写tld描述标签 代码如下: tag nameforEach2/name tag-classcom.csdn.items.ForEachTag2/tag-class body-contentscriptless/body-content attribute namevar/name requiredtrue/required /attribute attribute nameitems/name requiredtrue/required rtexprvaluetrue/rtexprvalue /attribute /tag 最终在jsp文件中写items的各种类型 代码如下: % Map map = new HashMap(); map.put("aa","aaaa"); map.put("bb","bbbb"); map.put("cc","cccc"); map.put("dd","dddd"); map.put("ee","eeee"); request.setAttribute("map",map); % c:forEach2 var="str" items="$map" $str.key -$str.value br / /c:forEach2 % String strs ="aa","bb","cc" ; request.setAttribute("strs",strs); % c:forEach2 var="str" items="$strs" $strbr /c:forEach2 接下里是一个转义的自定义标签: 步骤都一样: 代码如下: public void doTag() throws JspException, IOException JspFragment jf = this.getJspBody();/猎取jsp文件中的内容 StringWriter sw = new StringWriter();/猎取一个流对象 jf.invoke(sw);/吧内容放到流对象中 String s =sw.toString();/把jsp内容转成字符串 s= filter(s);/猎取进行转义之后的字符 this.getJspContext().getOut().write(s);/写入扫瞄器 public String filter(String message) /对字符串进行转义的方法 if (message = null) return (null); char content = new charmessage.length(); message.getChars(0, message.length(), content, 0); StringBuffer result = new StringBuffer(content.length + 50); for (int i = 0; i content.length; i+) switch (contenti) case : result.append(""); break; case : result.append(""); break; case : result.append(""); break; case ": result.append("""); break; default: result.append(contenti); return (result.toString(); 接下来就一样了, 代码如下: tag namehtmlFilter/name tag-classcom.csdn.items.HTMLFilter/tag-class body-contentscriptless/body-content /tag c:htmlFilter a href="" aaa/a /c:htmlFilter Jsp标签文件的内容原样输出; 更多信息请查看IT技术专栏 .

    注意事项

    本文(jsp简洁自定义标签的forEach遍历及转义字符示例_.docx)为本站会员(PIYPING)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开