+ Start a Discussion

Visualforce Page Execution Order

I don't know how exactly to put my question but I will try my best to put it forward.

We know that there is order of VF page execution and few examples are given for GET and POST methods at below link:

In the link given above, there is "Get Request Example Two" and in that point # 3 , there it says:

"After custom components are created, all assignTo attributes on those custom components are executed. The assignTo method sets selectedValue on the attribute to the value attribute. The value attribute is set to false, so selectedValue is set to false"

Then in the same example, in the point #4 it says:

"Value = {!value}<br/> selectedValue = {!selectedValue}<br/> EditMode = {!EditMode}
This expression occurs in the custom component. Since value is not null, EditMode is set to true. At this point, selectedValue is set to null. Remember, however, that the setter method for EditMode has a side-effect. In this case, the side-effect sets selectedValue to the value attribute on the custom component. Since value is set to false, selectedValue is set to false. This illustrates why you should not use side-effects in your methods. If the evaluation order were different, and the value for selectedValue were determined before the setter for EditMode was evaluated, selectedValue would still be null. Execution order is not guaranteed, and the result for selectedValue could change the next time this page is visited

Now I don't understand this:
In point # 3 it says that the selected value is false (since for the custom component attribute we passed the value 'false' in the page). Then why does it says in the point #4 that "At this point, selectedValue is set to null" . How there is side effect here then?

Basically if someone can make me explain the point #3 and point#4 clearly in detail. Any reply would be much much appreciated.

Thank you
Someone plz reply for this. Experts where are you?
No takers for this??