Hi,
This is my table:
<t:dataTable var="empl" value="#{employeeList}"> <n:column entity="${empl}" fieldName="name" label="#{msg.Employee}"/>
<ui:composition> ... <h:column> ...//EXCEPTION IS THROWN when resolving valueBinding <n:setValueBinding var="vb" valueBinding="#{entity[fieldName]}" /> <n:isText id="vb"> <h:outputText value="#{entity[fieldName]}" style="tableInputField"/> </n:isText> </h:column> </ui:composition>
public final class SetValueBindingHandler extends TagHandler { private final TagAttribute var; private final TagAttribute valueBinding; ... public void apply(final FaceletContext faceletsContext, final UIComponent parent) { /* Create the ValueExpression from the valueBinding attribute. */ ValueExpression valueExpression = valueBinding.getValueExpression(faceletsContext, Object.class); /* Get the name of the new value. */ String tvar = this.var.getValue(faceletsContext); // EXCEPTION IS THROWN HERE Class type = valueExpression.getType(faceletsContext); faceletsContext.setAttribute(tvar, valueExpression); faceletsContext.setAttribute(tvar + "Type", type); } }
<ui:composition> ... <h:column> //EXCEPTION IS NOT THROWN when resolving value <h:outputText value="#{entity[fieldName]}" style="tableInputField"/> </h:column> </ui:composition>
The problem is that variable empl is not resolved by SeamVariableResolver while running apply method of my custom tag handler.