Tengo un caso de uso en el que tengo que usar el paquete de recursos para mostrar varios textos en la interfaz de usuario. Algunas de estas entradas del paquete de recursos toman parámetros (por ejemplo, {0}), para estos utilizo h: outputFormat, pero a veces eso no es suficiente.Cómo utilizar el Formulario de mensaje parametrizado con atributos sin valor de los componentes JSF
p. Ej.
someMessage=Display this message with param {0}
en un paquete de recursos.
para mostrarla en XHTML que normalmente hago:
<h:outputFormat value="#{msg['someMessage']}"><f:param value="#{someBean.value}"/></h:outputFormat>
que funciona bien cuando es un caso simple, pero para los casos de uso más complejos que no es suficiente. Por ejemplo si quiero que el atributo 'title' de un commandLink utilizar la entrada anterior paquete de recursos:
<h:commandLink action="logout" title="#{msg['someMessage']}">
<f:param value="#{someBean.value}" />
<h:graphicImage library="images" name="image.png" />
</h:commandLink>
que no funciona. También probé:
<h:commandLink action="logout">
<f:attribute name="title">
<h:outputFormat value="#{msg['someMessage']}"><f:param value="#{someBean.value}"/></h:outputFormat>
</f:attribute>
<h:graphicImage library="images" name="image.png" />
</h:commandLink>
que también no funciona ya que F: attibute no permite que los niños.
Incluso si hay un truco para eludir esto (por ejemplo, usar el componente de desplazamiento de las superficies de contacto) hay otros campos que pueden requerir un mensaje parametrizado.
¿Alguien sabe de una forma de usar MessageFormat que toma un argumento en un campo sin valor de un componente JSF?
Pregunta similar: http://stackoverflow.com/questions/5697189/pass-parameters-to-messages-from-resource-bundle-to-components-other-thhan-hou – Adam
Esa es una pregunta diferente ya que esa es con respecto al atributo ** value **, que es sencillo de manejar (respondí la pregunta). Una forma de utilizar MessageFormat parametrizado con atributos ** sin valor ** es lo que estoy buscando. – Zak