Ciao Lele, allora FlagControl è di tipo char, nel db sono memorizzati dei char cha hanno un significato ben preciso, nel mio tool mi è stato chiesto di non visualizzare questi char ma di "tradurli" in maniera + parlante, perciò nel mio entity bean questo è il metodo getFlagControl
Codice PHP:
@Column(name = "FLAG_CONTROL")
private Character flagControl;
public Character getFlagControl() {
return flagControl;
}
public void setFlagControl(Character flagControl) {
this.flagControl = flagControl;
}
Dunque "flagControl" è di tipo String.
Se è così, tutti gli altri if sono sbagliati: gli oggetti si confrontano usando il metodo equals(), non l'operatore di confronto ==.
Io li ho resi "parlanti" creando il metodo getDescrizioneFlagControl e modificando il tipo di ritorno da un char ad una stringa, prendendomi il char che mi ritorna dal db in questo modo:
Codice PHP:
public String getDescrizioneFlagControl(){
if(flagControl == null){
return "&-nbsp;";
} else if(flagControl =='M') {
return "Mancante";
} else if(flagControl =='C') {
return "Controllato";
} else if(flagControl =='E') {
return "Eccedente";
} else if(flagControl =='B') {
return "Controllato in Blocco";
} else if(flagControl =='X') {
return "Controllato in Blocco ma Expired";
}
return " ";
}
Adesso funziona, la codifica viene fatta correttamente ed in caso di valore null non mi va più in NullPointerException, sonon riuscito a mascherare il valore null facendomi stampare uno spazio vuoto nella pagina jsp.
Mi sono mosso nella maniera corretta?
C'è una maniera più performante per impostare il tutto (so che avrei potuto utilizzare lo switch/case sicuramente sarebbe stato + corretto come modus operandi invece degli if/else)
Cominque grazie a tutti per l'aiuto.
Un saluto