Sono bloccato e ho bisogno di aiuto esterno da esperti JSF con il seguente problema: Ho definito alcuni convertitori in faces-config.xml per classi specifiche quindi non ho per usare l'attributo-convertitore o tag tutto il tempo. Per esempio:Fetch JSF Converter per classe in ManagedBean (JSF 1.2)
<converter>
<converter-for-class>org.joda.time.DateTime</converter-for-class>
<converter-class>com.example.converter.JodaDateTimeConverter</converter-class>
</converter>
Ora non v'è la necessità di un cingolato per un JSF-componente (per lo più ricchi: extendedDataTable) che costruisce tutto l'albero dei componenti e converte livello dopo livello in formato CSV, HTML o qualsiasi altra cosa potrebbe essere necessaria in seguito sopra. Vale a dire un modo generico per esportare in CSV, HTML, ... senza la necessità di implementarlo ogni volta di nuovo. E 'quasi fatta (grazie alla grande idea di un vecchio collega di miniera) e funziona ottimo, tranne per una parte:
Object expressionResult = expression.getValue(FacesContext.getCurrentInstance().getELContext());
expressionResultString = expressionResult.toString();
Questo comando recupera il valore di un h: outputText e lo converte in stringa. Quest'ultima riga è ciò che voglio sostituire con il convertitore per la classe se esiste un convertitore personalizzato per un'espressione specificaResult. Non riesco a scoprire come trovare quel convertitore esatto per le mie classi (come specificato da faces-config). Il FacesContext non sembra contenere alcun metodo/oggetto utile per il mio caso d'uso. Accedere direttamente a faces-config.xml sembra essere sbagliato. Un corretto approccio potrebbe essere simile:
Converter converter = magically_fetch_the_correct_converter_for_expressionResult_type;
converter.getAsString(FacesContext.getCurrentInstance(), component,
expressionResult);
Sarebbe abbastanza facile se ho usato convertitore-id e l'appropriato attributo/tag per i componenti stessi, ma ho molta voglia di evitare questo tipo di codice aggiuntivo inutile.
Qualcuno può aiutarmi?
Grazie mille! Era esattamente quello che stavo cercando :) Vorrei che ci fosse un utile JavaDoc nelle classi JSF. Mi renderebbe sicuramente la vita molto più facile. –
Il testo 'Application # createConverter()' nei miei link di risposta a javadoc. – BalusC