Hi Sashank,
I see that in the loop you are creating a new product object, shouldn't you change the iterator product here instead of creating a new one?
I assume that you pass the order you created to the page and want use this to retrieve the products. In the create products action in the loop, do you set the association between the products you create and the order?
Also are the newly created products committed anywhere?
Hope this helps!