Remove构件是用来移除一个服务端的变量(application、session或者request),通常与Set构件是对应的。
表 30.123. 构件信息
| Component Type | org.operamasks.faces.component.widget.invisible.Remove |
| Component Family | org.operamasks.faces.widget.Invisible |
| Component Class | org.operamasks.faces.component.widget.invisible.Remove |
| Tag Class | org.operamasks.faces.webapp.widget.RemoveTag |
+java.lang.Object
++javax.faces.component.UIComponent
+++javax.faces.component.UIComponentBase
++++org.operamasks.faces.component.widget.invisible.base.RemoveBase
+++++org.operamasks.faces.component.widget.invisible.Remove
表 30.124. 属性
| binding | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | javax.el.ValueExpression(javax.faces.component.UIComponent) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个值表达式,用于把该组件链接到一个ManagedBean的某个属性。 | ||||
| id | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | java.lang.String | |||
| 是否必须 | 否 | 延时求值 | 否 | |
| 这个组件的组件标识符。这个值在最近的命名容器类型的父组件范围内,必须是唯一的。 | ||||
| rendered | 定义类 | javax.faces.component.UIComponentBase | ||
| 类型 | boolean(boolean) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 一个标志,指出该组件是否要在任何随后的form提交过程中被渲染或处理。 这个属性的缺省值是true。 | ||||
| scope | 定义类 | org.operamasks.faces.component.widget.invisible.Remove | ||
| 类型 | javax.el.ValueExpression(java.lang.String) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 变量的生命周期,application、session或者request,默认是request | ||||
| var | 定义类 | org.operamasks.faces.component.widget.invisible.Remove | ||
| 类型 | javax.el.ValueExpression(java.lang.Object) | |||
| 是否必须 | 否 | 延时求值 | 是 | |
| 变量名 | ||||
下面例子介绍了w:remove的用法,先用w:set设置一个变量p,输出它的值,再用w:remove移除掉该变量,再输出它的值,可以看到,用w:remove移除后,p已经不存在了:
<w:set scope="request" var="p" value="test" ></w:set>
before remove:<h:outputText value="#{p}"></h:outputText>
<br/>
<w:remove var="p"></w:remove>
after remove:<h:outputText value="#{p}"></h:outputText>运行结果:
before remove:test after remove: