Convertisseur personnalisé dans JSF 2 avec des arguments
Je suis en train de mettre en œuvre une coutume tronquer convertisseur, qui tronque une chaîne de caractères à un indice donné et ajoute un symbole de continuation. Le convertisseur fonctionne très bien, seulement quand je le coder en dur les paramètres, car ils ne sont pas passés à l'arrière-plan. Ce que je fais mal?
Les paramètres sont des propriétés de la classe de convertisseur:
@FacesConverter(value = TruncateConverter.CONVERTER_ID)
public class TruncateConverter implements Converter, StateHolder
{
public static final String CONVERTER_ID = "bla.blablabla.Truncate";
private int truncateIndex;
private String contSymbol;
Ici est de savoir comment je suis en utilisant le convertisseur (ou tenter de):
<h:outputText id="news-text-left" value="#{newsListBean.newsList_teaser.text}">
<f:converter converterId="bla.blablabla.Truncate" truncateIndex="150" contSymbol="..." />
</h:outputText>
J'ai googlé autour pour un peu et n'était pas en mesure de trouver un seul exemple d'un JSF2 convertisseur avec les paramètres... Merci les gars pour votre aide, vraiment l'apprécier!
source d'informationauteur user871784
Vous devez vous connecter pour publier un commentaire.
Vous pouvez prendre un coup d'oeil à JSF2.0 sources. Par exemple DateTimeConverter... JSF sources disponibles ici, en svn reposotory: https://svn.java.net/svn/mojarra~svn/trunk
De l'OMI, la création d'un tel convertisseur n'est pas facile. Il est également nécessaire de créer convertisseur de balise pour enregistrer converter.
Autre façon de transmettre certaines données à convertisseur est attribue. Vous pouvez donc écrire
Que d'appeler à
component.getAttributes().get("truncateIndex");
convertisseur de code.
http://jerryorr.blogspot.nl/2011/10/creating-jsf-12-custom-converter-with.html est un bon guide pour configurer votre premier convertisseur personnalisé avec des paramètres
Basé sur @Mak solution: Il est possible de combiner le convertisseur et l'attribut dans une balise:
Vous pouvez ensuite utiliser le convertisseur comme ceci:
Vous n'avez pas besoin de saisir les paramètres de la composante-attributs. Un haricot-propriété avec le même nom sera automatiquement renseigné: