I am thinking if you have a User object similar to:
public class User extends ThirdPartyObjSayForStorageReasons implements UserAsSeenByView { ... } and you are using it in the view layer as UserAsSeenByView and you didn't have to add any extra methods to implement the view then it seems much more efficient than using reflection or calling a bunch of getters and setters to simple pass the object along. At any given time in the future if you didn't like that way, you could actually make UserAsSeenByView an instantiable (doesn't sound correct?) class, then in your action fill it (BeanUtils), and pass it back. There would be not much difference. Is this only a big deal if using RMI or something and passing a possibly much heavier object than need be over the remote connection?