Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I can't pinpoint the exact cause with the information provided so far, but there are at least three severe problems with this approach:</p> <ol> <li><p>An <code>UIComponent</code> instance is in essence request scoped. You should never ever declare it as a property of a bean in a broader scope, or you will face infamous "Duplicate component ID" errors when the very same instance is been referenced in multiple views.</p></li> <li><p>Using <code>binding</code> attribute referring a view scoped bean property breaks the view scope completely. The bean is recreated every request. This problem has essentially the same grounds as explained in detail here: <a href="https://stackoverflow.com/questions/3342984/jstl-in-jsf2-facelets-makes-sense">JSTL in JSF2 Facelets... makes sense?</a></p></li> <li><p>A programmatically created <code>UIInput</code> and <code>UICommand</code> component must have a fixed <code>id</code> set via <code>setId()</code>, otherwise JSF won't be able to find it in the request parameter map during apply request values phase of the form submit and inherently not be able to process the submitted value and the action method respectively.</p></li> </ol> <p>The third problem is most likely the exact cause of your current problem, but the first and the second problem may have had some influence.</p> <p>Regardless of this, try to reconsider your decision to programmatically create components this way. This should be avoided as much as possible. E.g. why don't you just use <code>rendered</code> attribute, or view build time tags like JSTL <code>&lt;c:if&gt;</code>?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload