This workaround did the trick for me. In the Text Field Properties, delete the Pattern (because JasperServer ignores it anyway), set the ExpressionClass to java.lang.String, and format the field in the Text Field Expression. Short date: DateFormat.getDateInstance(DateFormat.SHORT).format($P{my_date_parameter}) Currency: NumberFormat.getCurrencyInstance().format($F{my_numeric_field}) Still the question remains, why is JasperServer ignoring the Pattern property?