从servlet中删除上下文属性

时间:2014-04-03 13:27:41

标签: jsp servlets

我有很多对象在上下文中存储对象 在使用了存储其值的变量之后。 经过一些处理之后,我想从上下文中删除该对象。

例如:

ServletContext context = getServletContext();
boolean chk;
chk=true;

// save that value in context attribute
context.setAttribute("myArray",chk);

// after it used no need to require that object 
//  so how can I remove that object from the context?
if(somecondition){
// I want to remove myArray attribute from context
}

那么如何执行该任务?

2 个答案:

答案 0 :(得分:1)

使用ServletContext#removeAttribute方法删除属性。

使用getAttribute()方法设置或不设置安全检查属性。

if(somecondition){
   //i wnat to remove myArray attribute form contect
   if(context.getAttribute("myArray") != null) {
     context.removeAttribute("myArray");
   }
}

  

void removeAttribute(java.lang.String name)

     
      
  • 从此ServletContext中删除具有给定名称的属性。
  •   
  • 移除后,后续调用getAttribute(java.lang.String)以检索属性的值将返回null
  •   
  • 如果在ServletContext上配置了侦听器,则容器会相应地通知他们。
  •   
     

参数:

     
      
  • name - 指定要删除的属性名称的String
  •   

答案 1 :(得分:0)

public abstract void removeAttribute(String name)

从绑定到特定名称的上下文中删除属性。

所以做下面的事情

context.removeAttribute("myArray");