You do not have to commit objects to display them but they do need to be available in the cache on the client. Extrapolating from your question I assume your domain model would look something like this:
If you have your shopping cart associated to your session, it won't be removed from the client cache, and any ShoppingCartItems you add to your ShoppingCart will therefore remain in cache as well. You can then retrieve the shopping cart and its items on a dedicated page. The page would accept a ShoppingCart as parameter, which you would display in a DataView. You can then use any of the collection widgets (ListView, DataGrid, etc) to display the ShoppingCartItems using the over association option.
Please note that this design will hold the non-committed objects in memory for as long as the browser tab is open. Once you close your browser tab, the data is gone.