sâmbătă, 21 februarie 2015

[OmniFaces utilities (2.0)] Create an editable value expression based on the given EL expr and the given type


[OmniFaces utilities] The createValueExpression() method creates an editable value expression based on the given EL expression and the given type.

Method:
Usage:

You can use this method in many situations. I've used it several times to create the value expressions for composite components. Per example, let's have this composite component usage:

<t:welcomeComponent value="#{welcomeBean.value}" to="#{welcomeBean.to}"/>

Now, if we add it programmatically, then it will be something like this (the includeCompositeComponent() is another OmniFaces utilities):

import org.omnifaces.util.Faces;
import org.omnifaces.util.Components;
...
UIComponent parent = Faces.getViewRoot().findComponent("welcomeId");
UIComponent composite = Components.includeCompositeComponent(parent, "customs", "/welcome.xhtml", "welcomeMsgId");

And, further I've set the value expressions for the value and to attributes, as below:

composite.setValueExpression("value", Components.createValueExpression("#{welcomeBean.value}", java.lang.String.class));       
composite.setValueExpression("to", Components.createValueExpression("#{welcomeBean.to}", java.lang.String.class));       

Niciun comentariu:

Trimiteți un comentariu