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:


>


Reply via email to