NodeList rolNodeList = ((NodeList)name.getElementsByTagName("roleName"));
for(int j=0;j<rolNodeList.getLength();j++)
{
//有权限的角色的名称
//roleName = ((Element)rolNodeList.item(j)).getNodeValue();
roleName = ((Element)rolNodeList.item(j)).getAttribute("name");
theList.add(new ElementAndRole(elementName,roleName));
}
}
return theList;
}
//检查该角色是否有该页面元素的权限
private boolean isAuthentificated(String elementName)
{
String roleName = "";
//在用户登陆时把该用户的角色保存到SESSION中,这里只是直接从SESSION中取用//户角色。
roleName=this.pageContext.getSession().getAttribute("rolename”);
// roleList包含elementName属性为elementName,roleName属性为roleName的//ElementAndRole对象,则该角色有该页面元素的权限
if(roleList.contains(new ElementAndRole(elementName,roleName)))
{
return true;
}
}
return false;
}
//表示角色和页面元素的对应的关系的内部类
class ElementAndRole{
String elementName;
String roleName;
public ElementAndRole(String elementName,String roleName)
{
this.elementName=elementName;
this.roleName=roleName;
}
public boolean equals(Object obj)
{
return(((ElementAndRole)obj).elementName.equals(this.elementName)&&((ElementAndRole)obj).roleName.equals(this.roleName));









