- 论坛徽章:
- 0
|
在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 |
|