title: Rerender all h:inputText fields with same id inside h:dataTable
body: <p>I think I am wasting my time yet again figuring out how to do such a simple thing in JSF, but assuming the following set-up:</p>
  
  <pre><code> &lt;h:form id="form"&gt;
      &lt;h:dataTable id="table"&gt;
          &lt;! -- not shown: other columns with other input fields --&gt;
          &lt;h:column&gt;
            &lt;h:inputText id="myinput"&gt;
                  &lt;f:ajax execute="@this" render="????" listener="#{bean.action}" /&gt;
            &lt;/h:inputText&gt; 
          &lt;/h:column&gt;
      &lt;/h:dataTable&gt;
  &lt;/h:form&gt;
  </code></pre>
  
  <p>What do I specify in the render tag to ONLY re-render all "myinput" components across all rows in the datatable, ie without specifying "@form" that will re-render the other components as well? I have tried @this and ":form:table:myinput", but it always just re-renders the very first row of the dataTable. It seems like this should be such a simple use-case, so I have to obviously be misunderstanding something. </p>
  
  <p>Note: I don't know if internally JSF creates N HtmlInputTextComponents for each row or just 1, but obviously when I say "all myinput components", I mean all rendered input fields back to the browser that were generated from the h:inputText tag and that have the same browser DOM id of form:table:myinput:n. </p>
  
  <p>As a corollary and additional question, I don't want to process or re-render the whole form components because of possible validation/conversion errors. I simply want the following to happen: only the initiating "myinput" component that triggered the ajax call is validated, and if success, all of the other "myinput" components are populated and subsequently re-rendered with new model values that were changed from the action listener "#{bean.action}".</p>
  
  <p>Additional information:
  I am currently using the mojarra implementation version of JSF 2.1 (I think). I would like to avoid any third party JSF libraries.</p>
  
  <p>Bonus questions (which perhaps the answer to my original question would also answer):</p>
  
  <blockquote>
    <ol>
    <li>How to re-render and/or execute all input components but only for a single row</li>
    <li>How to re-render and/or execute set of input components but only for a single row</li>
    <li>How to re-render and/or execute all input components for a set of rows (not all)</li>
    <li>How to re-render and/or execute set of input components for a set of rows (not all)</li>
    </ol>
  </blockquote>
  
  <p><strong>To everyone replying that I can set the id of the inputText based upon the current rowIndex or current iteration variable - NO, that does not work.</strong> See: <a href="https://stackoverflow.com/questions/15660969/set-id-of-a-component-within-jsf-datatable-to-value-from-current-item-in-the-arr">Set id of a component within JSF dataTable to value from current item in the array</a></p>
  
  <p>I really think the only way to accomplish what I want is to abandon using a datatable and render the table columns/rpws with JSTL myself such that I can assign unique ids and have full control. However, I still think this is a huge design flaw in JSF to not support such a seemingly simple use-case.</p>