Class MassAttribute
- java.lang.Object
- 
- jakarta.faces.view.facelets.TagHandler
- 
- org.omnifaces.taghandler.MassAttribute
 
 
- 
- All Implemented Interfaces:
- FaceletHandler
 
 public class MassAttribute extends TagHandler The <o:massAttribute> sets an attribute of the given name and value on all nested components, if they don't already have an attribute set. On boolean attributes like disabled,readonlyandrendered, any literal (static) attribute value will be ignored and overridden. Only if they have already a value expression#{...}as attribute value, then it won't be overridden. This is a technical limitation specifically for boolean attributes as they don't default tonull.UsageFor example, the following setup <o:massAttribute name="disabled" value="true"> <h:inputText id="input1" /> <h:inputText id="input2" disabled="true" /> <h:inputText id="input3" disabled="false" /> <h:inputText id="input4" disabled="#{true}" /> <h:inputText id="input5" disabled="#{false}" /> </o:massAttribute>will set thedisabled="true"attribute ininput1,input2andinput3as those are the only components without a value expression on the boolean attribute.As another general example without booleans, the following setup <o:massAttribute name="styleClass" value="#{component.valid ? '' : 'error'}"> <h:inputText id="input1" /> <h:inputText id="input2" styleClass="some" /> <h:inputText id="input3" styleClass="#{'some'}" /> <h:inputText id="input4" styleClass="#{null}" /> </o:massAttribute>will only set thestyleClass="#{component.valid ? '' : 'error'}"attribute ininput1as that's the only component on which the attribute is absent. Do note that the specified EL expression will actually be evaluated on a per-component basis.To target a specific component (super)class, use the targetattribute. The example below skips labels (as that would otherwise fail in the example below because they don't have thevalidproperty):<o:massAttribute name="styleClass" value="#{component.valid ? '' : 'error'}" target="jakarta.faces.component.UIInput"> <h:outputLabel for="input1" /> <h:inputText id="input1" /> <h:outputLabel for="input2" /> <h:inputText id="input2" /> <h:outputLabel for="input3" /> <h:inputText id="input3" /> </o:massAttribute>Since OmniFaces 3.10, the targetattribute supports a commaseparated string.- Since:
- 1.8
- Author:
- Bauke Scholtz
 
- 
- 
Field Summary- 
Fields inherited from class jakarta.faces.view.facelets.TagHandlernextHandler, tag, tagId
 
- 
 - 
Constructor SummaryConstructors Constructor Description MassAttribute(TagConfig config)The tag constructor.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidapply(FaceletContext context, UIComponent parent)- 
Methods inherited from class jakarta.faces.view.facelets.TagHandlergetAttribute, getRequiredAttribute, toString
 
- 
 
- 
- 
- 
Constructor Detail- 
MassAttributepublic MassAttribute(TagConfig config) The tag constructor.- Parameters:
- config- The tag config.
 
 
- 
 - 
Method Detail- 
applypublic void apply(FaceletContext context, UIComponent parent) throws IOException - Throws:
- IOException
 
 
- 
 
-