title: JSF <h:outputFormat>: use array values as parameters
body: <p>On my JSF2 page, i'm using internationalized error messages. </p>
  
  <p>In my backing bean, i'm putting the messages into the flash Scope:</p>
  
  <pre><code>flash.put("error", exception.getType());
  </code></pre>
  
  <p>On the page, this string gets translated this way:</p>
  
  <pre><code>&lt;h:outputText value="#{bundle[flash.error]}"/&gt;
  </code></pre>
  
  <p>Works fine.</p>
  
  <p>NOW i want to be also able to put (an arbitrary number of) parameters into the message text, that get inserted into the placeholders in the i18n-property in my message.properties. Therefore, i'm putting the parameters as a String array into the Flash Scope, like this:</p>
  
  <pre><code>//exception.getParameters returns String[]
  flash.put("errorParams", exception.getParameters())
  </code></pre>
  
  <p>Now i also want to be able to use this String array as parameters for an outputFormat element, to insert them into a property like <code>Welcome, {0} {1}</code>. 
  So i tried to achieve this by using <em>ui:repeat</em>:</p>
  
  <pre><code>&lt;h:outputFormat value="#{bundle[flash.error]}" rendered="#{! empty flash.error}" class="invalid"&gt;
    &lt;ui:repeat value="#{flash.errorParams}" var="_param"&gt;
      &lt;f:param value="#{bundle[_param]}"/&gt;
      &lt;!-- also doesn't work: &lt;f:param value="#{_param}"/&gt;--&gt;
    &lt;/ui:repeat&gt;
  &lt;/h:outputFormat&gt;
  </code></pre>
  
  <p>Unfortunately, the param value is ignored and the placeholders of the i18n-property aren't replaced, so the rendered output is <code>Welcome, {0} {1}</code>. When using a "regular" repeater, displaying the array elements just as an outputtext, it works. So the outputFormat tag doesn't seem to support the use of a repeat as a child.
  Damn, so close ;) Anyone knows a good way to do what i want, or is there any component library supporting something like that?</p>