2012-07-24 3 views
3

Je voudrais utiliser un convertisseur standard JSF (javax.faces.convert.DateTimeConverter) pour un paramètre de vueJSF 2.0: <f:viewParam> et convertisseurs par défaut

De la documentation:

Vous pouvez vous référer au convertisseur par classe ou par son ID à l'aide de l'attribut de convertisseur de la balise . L'ID est défini dans le fichier de ressources de configuration de l'application

J'ai ensuite essayé:

mais je reçois

javax.faces.FacesException: Expression Error: Named Object: javax.faces.convert.DateTimeConverter not found. 

J'ai ensuite essayé la deuxième option (par ID). Je définissais le convertisseur en faces-config.xml

<converter> 
    <converter-id>DateTimeConverter</converter-id> 
    <converter-class>javax.faces.convert.DateTimeConverter</converter-class> 
</converter> 

et utilisé l'ID

<f:viewParam 
    name  = "rangeStartCreationDate" 
    value  = "#{doiListController.model.rangeStartCreationDate}" 
    converterId = "DateTimeConverter" 
/> 

Dans ce cas, je reçois

Conversion Error setting value 'Tue Jul 24 00:00:00 CEST 2012' for 'null Converter'. 

Est-il possible de laisser JSF instancier le convertisseur ou je l'instancier manuellement (dans un haricot)?

+0

L'id convertisseur est javax.faces.DateTime, alors essayez 'convertisseur = "javax.faces.DateTime"' – Adam

+0

@Adam Merci ça marche! Postez-le comme une réponse pour que je puisse l'accepter. – Matteo

Répondre

4

L'id convertisseur est javax.faces.DateTime, alors essayez

<f:viewParam 
    converter="javax.faces.DateTime" 
... />