Hi,
I wrote a DisplaytagColumnDecorator implementation where the datatype of the 
column value is a String instead of the corresponding properties datatype. So I 
get a ClassCastException.

Any idea what I do wrong?

Here is my code:

-------- The Decorator ---------

package org.displaytag.decorator;

import java.text.DecimalFormat;
import java.util.Locale;

import javax.servlet.jsp.PageContext;

import org.displaytag.decorator.DisplaytagColumnDecorator;
import org.displaytag.exception.DecoratorException;
import org.displaytag.properties.MediaTypeEnum;

public class DisplaytagMoneyWrapper implements DisplaytagColumnDecorator {

  private static String moneyToString(double wert) {
    DecimalFormat decimalFormat = (DecimalFormat) 
DecimalFormat.getInstance(Locale.GERMAN);
    decimalFormat.applyPattern("#,###,##0.00");
    String string = decimalFormat.format(round(wert));
    return string;
  }

  private static double round(double wert) {
    long longWert = Math.round(wert * 100);
    double doubleWert = longWert;
    doubleWert = doubleWert / 100;
    return doubleWert;
  }

  public Object decorate(Object columnValue, PageContext pageContext, 
MediaTypeEnum media) throws DecoratorException {
    return columnValue != null ? moneyToString((Double) columnValue) : 
moneyToString(0);
  }
}

----------------------------------

-------- The Table ---------------

<div id="rechnungsausgaengeUebersicht" class="table">
    <display:table name="${form.rechnungsausgaengeUebersicht}" id="row"
        requestURIcontext="false"
        requestURI="${pageContext.request.requestURI}"
        export="true" pagesize="20" sort="list">
        <display:setProperty name="export.pdf.filename" 
value="rechnungsausgaenge-uebersicht.pdf" />
        <display:setProperty name="export.csv" value="true"/>
        <display:setProperty name="export.pdf" value="false"/>
        <display:setProperty name="export.excel" value="true"/>
        <display:setProperty name="export.xml" value="true"/>
        
        ... other columns ...       

        <display:column media="excel xml csv"
            titleKey="rechnungsausgaenge.uebersicht.honorar"
            autolink="true" paramId="honorar"
            decorator="org.displaytag.decorator.DisplaytagMoneyWrapper">
            ${row.honorar}
        </display:column>
        <display:column media="html"
            headerClass="honorar" paramId="honorar"
            sortProperty="honorar" sortable="true"
            titleKey="rechnungsausgaenge.uebersicht.honorar"
            decorator="org.displaytag.decorator.DisplaytagMoneyWrapper">
            <div class="honorar">${row.honorar}</div>
        </display:column>

        ... other columns ... 

    </display:table>
</div>

----------------------------------

Thanks in advance.

Oemer
-- 


"Feel free" – 10 GB Mailbox, 100 FreeSMS/Monat ...
Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail

Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
displaytag-user mailing list
displaytag-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/displaytag-user

Reply via email to