Originariamente inviato da dardo
dalla servlet istanzio la classe che fa il lavoro mi restituisce di conseguenza un bean di cui non conosco le proprietà.

A questo punto con session.getAttribute("...") avrò un bean ancora sconosciuto.
come proseguire?
Quindi la questione è che hai un oggetto di cui non sai a priori quante/quali proprietà ha e vorresti "enumerare" le proprietà per stamparle?

La prima cosa che mi viene in mente è quella di usare le classi del package java.beans, dedicato alla gestione dei bean e alla loro "introspezione".

Ecco un esempio basilare per elencare tutte le "proprietà" (come intese secondo le specifiche JavaBean) di un JLabel:

codice:
import java.beans.*;
import javax.swing.*;

public class Prova {
    public static void main(String[] args) {
        try {
            enumeraProprieta(new JLabel());
        } catch (Exception e) {
            System.err.println(e);
        }
    }

    public static void enumeraProprieta(Object obj) throws IntrospectionException {
        BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass());

        PropertyDescriptor[] propsDesc = beanInfo.getPropertyDescriptors();

        for (int i = 0; i < propsDesc.length; i++) {
            System.out.println("Property: " + propsDesc[i].getName());
        }
    }
}
Output parziale per JLabel:
codice:
Property: UI
Property: UIClassID
Property: accessibleContext
Property: actionMap
Property: alignmentX
Property: alignmentY
Property: ancestorListeners
Property: autoscrolls
Property: background
Property: baselineResizeBehavior
Property: border
Property: component
.......altro