免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1409 | 回复: 0
打印 上一主题 下一主题

jsp2.0自定义标记取代servlet的自定义标记 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-06 17:30 |只看该作者 |倒序浏览
在jsp1.x中如果需要自定义标记就必须写selvet,然后写tld文件,然后加载如web.xml,到了jsp2.0就不需要在写servlet了我们可以想写jsp文件一样写自定义标记了,该标记中使用jstl来做一些显示先看一下我自己写的一个自定义标记(haspower.tag):
   
   
   
   
        
            String taskCodeJ = (String)jspContext.getAttribute("taskCode");
            PrpDUserBaseExt ext = (PrpDUserBaseExt)session.getAttribute("user");
            request.setAttribute("ispower",Boolean.valueOf(new Authority().checkPower(ext.getUserCode(),ext.getComCode(),"",taskCodeJ)));
        
   
        
            
        
        
        
   
将该文件保存在项目的/WEB-INF/tags/文件夹下或者WEB-INF/tags/的子目录下,我是放在了/WEB-INF/tags/文件夹下。然后使用该标记和其他标记一样引用就行了使用如下:
1,引入标记库
2,使用自定义标记:
   
      test
   
该标记的意思是如果该用户有"01"的权限那么页面上就会显示test,如果没有那么就不显示了。
注:
在使用jsp2.0标记库的时候发现如果在内部执行已经写好的带参数的java方法那么就不能使用这个标记了,就必须使用来取代标记,同时如果使用自定义标记的属性的值如(taskCode)就使用jspContext来获取了,因为在使用自定义标记的话他对外的范围也就是page了,而不再是session,request了,但是在标记中能取到session中定义的如PrpDUserBaseExt ext = (PrpDUserBaseExt)session.getAttribute("user");就是从外层session中拿到的
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/20045/showart_1384903.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP