Just override the renderer type in the faces config file
<renderer>
<component-family>javax.faces.Message</component-family>
<renderer-type>org.apache.myfaces.Message</renderer-type>
<renderer-class>your.package.here.HtmlMessageRenderer</renderer-class>
</renderer>
<renderer>
<component-family>javax.faces.Messages</component-family>
<renderer-type>org.apache.myfaces.Messages</renderer-type>
<renderer-class>your.package.here.HtmlMessagesRenderer</renderer-class>
</renderer>
Here is my message renderer:
public class HtmlMessageRenderer
extends org.apache.myfaces.renderkit.html.ext.HtmlMessageRenderer
{
private static final Pattern MESSAGE_PREFIX_RE =
Pattern.compile("\".+?\"\\s*:\\s*");
@Override
protected String getDetail(FacesContext facesContext, UIComponent
message, FacesMessage facesMessage, String msgClientId)
{
String detail = super.getDetail(facesContext, message,
facesMessage, msgClientId);
return replaceId(detail);
}
@Override
protected String getSummary(FacesContext facesContext, UIComponent
message, FacesMessage facesMessage, String msgClientId)
{
String summary = super.getSummary(facesContext, message,
facesMessage, msgClientId);
return replaceId(summary);
}
private String replaceId(String value)
{
if (value == null) return null;
Matcher match = MESSAGE_PREFIX_RE.matcher(value);
if (!match.find()) return value;
return value.substring(match.end());
}
}
On 12/16/06, Igor Laberov <[EMAIL PROTECTED]> wrote:
>
> I hated that behavior as well, so I just sub-classes the messages
> renderer and did a substring on anything after the first colon.
>
> -Andrew
>
A.. This is idea!
Where should I define this renderer? Thank you.
Andrew Robinson <andrew.rw.robinson <at> gmail.com> writes:
>