I've recently started doing some JSF work - before that I've always used PHP or Python for web development.
I was somewhat surprised to find that JSF uses HTTP POSTs to navigate when the h:commandLink tag is used.
I have been using the commandLink as this is apparently the correct way to build JSF apps. Why does JSF use POST for navigation? What's wrong with GET? I can only assume that the Javascript that is automatically generated by JSF for the onclick events could exceed the maximum length for a GET request.
I already have a number of pages that are navigated using h:commandLink. This works wells until I use the browser's back button. How should I go about handling the back button in JSF?
I'm struggling to understand why JSF was build around the POST. It breaks bookmarking, back-paging and the ability to have your page indexed in search engines.