[J2EE/JSF] Converters en custom componenten

Pagina: 1
Acties:

  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Topicstarter
Ik ben een beetje aan het stoeien met het maken van custom componenten. Heb daarvoor een tutorial gevolgd waarmee ik een creditcard inputveld gemaakt heb. Daaraan een Validator gekoppeld. Tot dusver niets aan het handje.

Ik dacht, laat ik dit voorbeeld een beetje uitbreiden met een Converter. Precies hetzelfde gedaan als de Validator, gewoon gekoppeld in de constructor van de component. Met als enige verschil: de Validator wordt wel aangeroepen, de Converter niet. :?

Mijn constructor:
code:
1
2
3
4
5
6
    public UICreditCardInput() {
        super();
        addValidator(new CreditCardValidator());
        setConverter(new CreditCardConverter());
        System.out.println("constructor");
    }


Stukje uit mijn Validator:
code:
1
2
3
4
5
    ...
    public void validate(FacesContext context, UIComponent component, Object value)
            throws ValidatorException {
        System.out.println("converter in validate: "+((UICreditCardInput)component).getConverter());
        ...


Stukje Converter:
code:
1
2
3
4
5
6
    public Object getAsObject(FacesContext context, UIComponent component, String target) throws ConverterException {
        System.out.println("getAsObject");
        ...
    public String getAsString(FacesContext context, UIComponent component, Object value) throws ConverterException {
        System.out.println("getAsString");
        ...


Dit is de output als ik de applicatie start en een formulier submit: (troep er even uitgehaald)
code:
1
2
3
4
constructor
... (dit is na het submitten van het formulier)
constructor
converter in validate: nl.ordina.jsf.component.creditcardinput.CreditCardConverter@318293

In de validate() methode heeft hij dus een geldige Converter, zie console output. Moet die Converter speciaal geactiveerd worden ofzo? Ik snap er niks meer van. :?

http://forum.java.sun.com...?threadID=672080&tstart=0
Zijn er hier meer die dit probleem gehad hebben? Op dit Sun forum ben ik het ook al tegengekomen, maar daar weet volgens mij ook niemand de oplossing.

Het is namelijk best wel een probleem, aangezien naar mijn idee het default zetten van Validators en Converters en zo één van de grootste voordelen van een eigen component is. Uiteindelijk zijn de meeste componenten namelijk toch input velden en verschilt de werking. (valideren, converteren, etc)

Fat Pizza's pizza, they are big and they are cheezy


  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Topicstarter
Klein kickje :)

Iemand een idee?

Fat Pizza's pizza, they are big and they are cheezy