title: How to get value from h:outputText which is inside p:repeat element
body: <p>I am trying to get values from the outputText component which is inside the repeat component:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;p:dataTable&gt;
  ...
  &lt;p:column sortBy="#{row.trainnumber}" style="text-align: right; text-overflow: ellipsis; width: 80px" exportFunction="#{columnExporter.export}"&gt;
      &lt;f:facet name="header"&gt;
          &lt;h:outputText value="Zugnr." title="Zugnummer" /&gt;
      &lt;/f:facet&gt;
  
      &lt;p:repeat var="item" value="#{row.values}" varStatus="aendStatus"&gt;
          &lt;h:outputText  value="#{item.trainnumber}" /&gt;
          &lt;h:outputText value="&amp;lt;br /&amp;gt;" escape="false" rendered="#{!someValue.last}" /&gt;
      &lt;/p:repeat&gt;
  &lt;/p:column&gt;
  &lt;/p:dataTable&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>For this, I'm using <code>exportFunction</code>. Below is an example code:</p>
  
  <p><pre><code></p>
  
  <pre><code>import java.util.List;
  import java.util.Map;
  import javax.enterprise.context.ApplicationScoped;
  import javax.faces.component.UIComponent;
  import javax.faces.component.ValueHolder;
  import javax.faces.context.FacesContext;
  import javax.inject.Named;
  import org.apache.commons.lang3.StringUtils;
  import org.primefaces.component.api.UIColumn;
  import org.primefaces.component.repeat.UIRepeat;
  import org.primefaces.util.ComponentUtils;
  
  @Named
  @ApplicationScoped
  public class ColumnExporter {
  
      public String export(final UIColumn column) {
          String value = StringUtils.EMPTY;
          for (final UIComponent child : column.getChildren())
              value += buildValue(child);
          return value;
      }
  
      private String buildValue(final UIComponent uiComponent) {
          if (uiComponent.isRendered()) {
              if (uiComponent instanceof ValueHolder) {
                  return ComponentUtils.getValueToRender(FacesContext.getCurrentInstance(), uiComponent);
              } else if (uiComponent instanceof UIRepeat) {
                  UIRepeat repeat = (UIRepeat) uiComponent;
                  return buildRepeatValue(repeat);
              } else if (uiComponent.getChildCount() &gt; 0) {
                  String value = "";
                  for (UIComponent child : uiComponent.getChildren()) {
                      value += buildValue(child);
                  }
                  return value;
              }
          }
          return "";
      }
  
      private String buildRepeatValue(UIRepeat repeat) {
          String value = "";
          String variableName = repeat.getVar();
          String statusName = repeat.getVarStatus();
          List&lt;?&gt; values = (List) repeat.getValueExpression("value")
                  .getValue(FacesContext.getCurrentInstance().getELContext());
          for (Object valueObj : values) {
              for (UIComponent child : repeat.getChildren()) {
                  String childValue = buildValue(child);
                  if (StringUtils.isNotEmpty(childValue)) {
                      value += childValue + "\n";
                  }
              }
          }
          return value;
      }
  }
  </code></pre>
  
  <p></pre></code>
  But I always get the NULL value despite the fact that this value is correctly displayed in the table.
  Does anyone know how to properly retrieve this value from the outputText element?</p>