formatiere Ich erhalte den Wert des Betrages wie 4567.00, 8976.00 etc. Jetzt, während ich diesen Wert in displaytag dispate, möchte ich es als $ 4567.00 anstatt nur 4567.00 drucken. Wie kann ich das machen? Vorausgesetzt, ich möchte nur Display-Tag verwenden. Ich kann die gleiche Sache mit Core: out-Tag erreichen.wie man Währung im displaytag
$<core:out value="${variableInMyList}" />
Antwort gefunden [wie ich es tat]
Erstellen Sie eine neue Klasse:
public class NumberFormatDecorator implements DisplaytagColumnDecorator{
Logger logger = MyLogger.getInstance ();
public Object decorate(Object columnValue, PageContext pageContext, MediaTypeEnum media) throws DecoratorException {
try
{
Object colVal = columnValue;
if (columnValue != null){
colVal = Double.parseDouble((String)columnValue);
}
return colVal;
}catch (Exception nfe){}
logger.error("Unable to convert to Numeric Format");
return columnValue; // even if there is some exception return the original value
}
}
jetzt in -kennzeichnungsschild
<displaytag:column title="Amount" property="amount" decorator="com.rj.blah.utils.decorator.NumberFormatDecorator" format="$ {0,number,0,000.00}"/>
Hinweis: wir die Message im Format Attribute displaytag verwenden: Spalte
** $ **, wie ich sagte, das möchte ich nicht machen. Aber danke für das Decorator-Konzept –