标签:text string div null 处理 display mytag rri names
[1]通过taglib引入标签库[2]标签本身
<description>Atguigu 1.0 core library</description> <display-name>Atguigu core</display-name> <tlib-version>1.0</tlib-version> <short-name>atguigu</short-name> <uri>http://www.atguigu.com/survey/tag</uri>
[3]注册自定义标签处理器类
<tag> <!-- 标签名 --> <name>showTime</name> <!-- 标签全类名 --> <tag-class>com.atguigu.myTag.TagShowTime</tag-class> <!-- 设置标签体为空 --> <body-content>empty</body-content> </tag>
<!-- 声明标签的属性 --> <attribute> <!-- 属性名 --> <name>format</name> <!-- 属性是否必须 --> <required>true</required> <!-- 属性是否支持EL表达式 --> <rtexprvalue>true</rtexprvalue> </attribute>
public class AuthTag extends SimpleTagSupport { private String servletPath; @Override public void doTag() throws JspException, IOException { //获取页面的上下文对象 PageContext context = (PageContext) getJspContext(); HttpSession session = context.getSession(); Admin admin = (Admin)session.getAttribute(GlobalNames.LOGIN_ADMIN); if(admin!=null){ //判断是否有权限访问 String adminName = admin.getAdminName(); if("admin".equals(adminName)){ //显示内容体 getJspBody().invoke(null); return ; } ServletContext servletContext = context.getServletContext(); WebApplicationContext ioc = WebApplicationContextUtils.getWebApplicationContext(servletContext); //用servletPath查询资源数据 ResMapper resMapper = (ResMapper) ioc.getBean(ResMapper.class); Res res = resMapper.getResByServletPath(servletPath); System.out.println("servletPath.......... "+servletPath); String codeArr= admin.getCodeArr(); Integer resCode =res.getResCode(); Integer resPos=res.getResPos(); //计算验证资源是否可以访问 boolean authority = DataprocessUtils.checkAuthority(resCode, resPos, codeArr); if(authority){ //显示内容体 getJspBody().invoke(null); return ; } } //上面的条件如果有任何一个不满足,那么就不执行标签体,页面上将不显示标签体 } public void setServletPath(String servletPath) { //为了保持与数据库一致,需要加上“/” this.servletPath = "/"+servletPath; } }
标签:text string div null 处理 display mytag rri names
原文地址:http://www.cnblogs.com/limingxian537423/p/7511021.html