I have created a page with multiple portlets on it. All of them work fine but any action(h:commandButton) on one portlet refreshes the complete page and hence other porlets are re-rendered.
Although I can use AJAX but after reading some documentation on Portlet-Bridge I am thinking that JSF/Seam navigation should work considering it has the whole page while portlet-bridge should handle the request/response & navigate single portlet without effecting the complete page.
Is my understanding right?
The behavior you're experiencing is expected in a Portal environment.
The expected Portal lifecycle (as defined in JSR-286) states that after each Action Request (such as h:commandButton) each Portlet on the Page will be re rendered.
There is no way to prevent that behavior, as it is defined in the spec.