Simon, Mike,
Thanks for the explanation.
I was able to make it work by using below code:
FacesContext ctx = FacesContext.getCurrentInstance();
ValueBinding binding = ctx.getApplication().createValueBinding("#{User}");
binding.setValue(ctx, new User(id));
Trying to put the User bean in the request map was apparently the wrong
way of doing it:
ctx.getExternalContext().getRequestMap().put("#{User}", new User(id));
The myfaces example use another method with t:updateActionListener. I will stay
safe for now, and use above method. :)
Thanks!