2006/11/8, Craig McClanahan <[EMAIL PROTECTED]>:
On 11/8/06, Ramineni Viswanath <[EMAIL PROTECTED]> wrote: > > While on a page, I call the same page with a different > set of query parameters, it is being treated as a > postback. > > For example my current url is > > /mainmenu.faces?menuid=0 > > I have a HtmlOutputLink on this page with the value > set to /mainmenu.faces?menuid=26. When I click on this > link, isPostBack() is showing "true". Is this the > correct and intended behaviour? The mechanism used to declare a request being a postback is whether the ViewController.restoreView() method provided by JSF determines that there was an existing view that could be restored. In turn, if you are using server side state saving with current 1.1 implementations, this decision is based solely on the view identifier, not on any related parameters. Thus, if you are using server side state saving, JSF will treat your two URLs as being the same, and will restore the previous state (and, therefore, the postback property will be set to true). If you were to use client side state saving, on the other hand, the two URLs would be considered distinct views (since the HtmlOutputLink ends up doing a GET to the second URL), with no state to be restored, and therefore postback would be false.
Holy cow, I didn't know that. Is that not a bug according the definition of a postback? IMO, behaviour that differs depending upon state-saving mode is bad news. david --Vish
Craig
