Hi Finn,
We should probably keep the existing functionality as is, but as you
suggested, expose context.processPageRequestParams to allow users to
explicitly bind request params in a BorderPage constructor.
kind regards
bob
Finn Bock wrote:
> Hi,
>
> Is there a reason that the constructor in Page does not call
> processPageRequestParams(this) in ClickServlet? If it did, request
> parameters would be assigned to the @Bindable/public fields in Page
> subclasses and would be available for the constructors in page
> subclasses.
>
> The drawback is that initial values for @Bindable fields will override
> the request parameters:
>
> public class MyPage extends Page {
> @Bindable public String param1;
> @Bindable public String param2 = "default";
>
> public class MyPage() {
> // here param1 will have the value from the request, but
> param2 will always be "default".
> }
> }
>
> If the current call to processPageRequestParams() in
> ClickServlet.initPage() is kept, the correct value will be set and
> available for onInit(), so it could be made backward compatible.
>
> Or perhaps the processPageRequestParams() method could be made
> available for explicit call:
>
> public class MyPage() {
> getContext().processPageRequestParams(this)
> // here both param1 and param2 will have values from the request.
> }
>
> regards,
> Finn
>