in una JSP utilizzo la classe NumberFormat per formattare un valore monetario e appenderci la valuta (quindi l'euro).
Sulla pagina web risultante mi stampa un '?', chi mi sa dire perché?
ecco il codice....

<%@ page import="java.util.*,java.text.*,currency.*"%>

<html>
<head>
<title>
currency
</title>
</head>
<body bgcolor="#ffffff">
<h1>
Currency test
</h1>
<%
double amount = 299.3456;
ProvaCurrency prova = new ProvaCurrency();
String newAmount = prova.reformat(amount);

out.print("la cifra è: ");
%>
<%= newAmount %>
Proviamo qui: €
e qui &euro;
</body>
</html>


il codice della classe java segue:

package currency;
import java.text.*;
import java.util.Locale;
public class ProvaCurrency {

private double amount = 199.3456;
private String formattedAmount;
public ProvaCurrency() {

}

public double getAmount() {
return amount;
}

public void setAmount(double amount) {
this.amount=amount;
}

public String reformat(double amount) {
NumberFormat formattatore = NumberFormat.getCurrencyInstance();
formattedAmount=formattatore.format(amount);
System.out.println("La cifra reformattata è: " +formattedAmount);
return formattedAmount;
}

public static void main(String[] args) {
ProvaCurrency provaCurrency1 = new ProvaCurrency();
NumberFormat formattatore = NumberFormat.getCurrencyInstance();
System.out.println("la cifra è: " + formattatore.format(provaCurrency1.getAmount()));
Locale[] locale = NumberFormat.getAvailableLocales();

System.out.println("I locale disponibili sono: \n");

for (int i=0;i<locale.length;i++){
System.out.println("\nNazione: " + locale[i].getCountry() + " Lingua: " + locale[i].getLanguage());
}
}

}


Aggiungo che le system.out nella classe java stampano correttamente il simbolo dell'euro

Grazie a tutti