[jboss-user] [JBoss Seam] - Re: Seam Text: message format

mars1412 do-not-reply at jboss.com
Wed Oct 31 12:26:06 EDT 2007


well, I asked it on a JSF forum - no reply
however, I wrote a simple sample application with JSF on JBoss without SEAM and it worked as expected (but I used jsp instead of facelets)

anyway

I just debugged into the SEAM source and found out, that the problem is, that the messages component (org.jboss.seam.international.Messages) calls SeamResourceBundle.getString() which in turn calls Interpolator.interpolate() before returning the string

so I wrote another simple SEAM example:

  | String source = "{0,number,#.#}";
  | String interpolated = Interpolator.instance().interpolate(source);
  | System.out.println("soruce: '"+source+"'");
  | System.out.println("interpolated: '"+interpolated+"'");
  | 

which prints the following output on stdout:
anonymous wrote : 
  | 17:02:00,133 INFO  [STDOUT] soruce: '{0,number,#.#}'
  | 17:02:00,133 INFO  [STDOUT] interpolated: '{0}'
  | 

next test was to create a simple java file, that does following:

  | String expr = "{0,number,#.##}";
  | String value = new MessageFormat(expr, java.util.Locale.getDefault()).format(null);
  | System.out.println("expr : "+expr);
  | System.out.println("value: "+value);
  | 
which results in:
anonymous wrote : 
  | expr : {0,number,#.##}
  | value: {0}
  | 


so now I know why it does not work, but I'm not sure what to do about it.

  | * Is it a problem of the JRE?
  | it seems strange to me that format() changes my string, although I do not pass any parameters..
  | * Or should Seam's Interpolator.interpolate() not call 
  | MessageFormat.format() if there are no parameters?
  | 

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4100752#4100752

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4100752



More information about the jboss-user mailing list