You are mistaking a Canvas for a Container. A Canvas is a raw drawing surface that you use graphics primitives methods to render into. A Container can hold UI controls, and that often includes nested containers - some of which may even be canvases.
A Canvas is not possible on any web platform. The closest you can get is to draw into a graphics buffer and serve up its context in response to an HTML image request. Any UI controls would have to be superimposed on it using HTML CSS.
There are a number of Container controls in JSF, however, including the DataTable and panelGrid controls.
As far as drag-drop-and-drool UI interface design in JSF, Netbeans is supposed to have one, Oracle JDeveloper has one (but it's about like the old-time Mozilla page design tool), and IBM's RAD extensions to Eclipse are supposed to have one (although they cause IBM proprietary code to be inserted into the application).
An IDE is no substitute for an Intelligent Developer.
Joined: Jun 27, 2009
Actually I want to implement a page in which I will have a pallete of custom components.
Now I want a page into which I can put this components absolutely wherever I want (movable) and link them through other components.
So I am browsing through web for it in JSF/RichFaces.
Not found anything useful yet.
Thanks for making me clear about canvas and container.