I found the solution for this issue.....As I have used the <h:commandLink> inside a <h:dataTable> tag, whenever I click on the link, it tries to check the list variable of my backing bean whether it has the data or not, as my backing bean's scope is request, it couldn't take the list data to subsequent request, hence causing the problem. So the list variable must be initialized in the constructor, so that it can call the backing bean method. It happens when we use the commandLink inside a dataTable or any other looping tag.
This is actually a defect in jsf 1.2, they have fixed it in the jsf 2.0
Story like this gets better after being told a few times. Or maybe it's just a tiny ad:
Free, earth friendly heat - from the CodeRanch trailboss