Se stai usando le tecnologie jsp o jsf, non devi sapere in anticipo quali getter e setter hanno un oggetto prima di accedervi come bean. Tuttavia, comprensibilmente, potresti voler offrire visualizzazioni alternative per questi articoli.
Quindi, in generale, il mio approccio sarebbe quello di stabilire un tipo di enumeratore che tutte le classi del prodotto devono restituire in un metodo astratto. Il metodo sarebbe derivato da tutti i suoi figli e ti darà un indicatore di che tipo hai a che fare e puoi gestirlo di conseguenza. In altre parole, se il tuo oggetto corrente ha tipo "Pantaloni", allora includi una vista per quell'oggetto chiamato views / Trousers.xhtml. In alternativa, anziché restituire un enumeratore, è possibile restituire la vista effettiva per quell'oggetto (fare attenzione poiché due tipi di prodotto potrebbero condividere la stessa vista, ad esempio Jeans + Pantaloni, quindi non utilizzarlo come indicatore di tipo).
Nella vista, si sa che l'oggetto ha già incontrato una condizione preliminare che è di un certo tipo o che ha esplicitamente indicato quella particolare vista. A quel punto, puoi tranquillamente chiamare le proprietà di quell'oggetto che sai che avrà.
Spero che risponda alla tua domanda.
Modifica :
Potrebbe non adattarsi bene a seconda del numero di prodotti e della frequenza con cui devi modificare questi prodotti. In tal caso, ti consiglio di restituire un indicatore di stringa. Con quella stringa, puoi stabilire alcuni pattern come usare una vista con lo stesso indicatore di stringa, ecc. Potresti usare il nome della classe come un indicatore di tipo, se non altrimenti sovrascritto nelle tue classi derivate.