In Wicket the concept of “model” is probably the most important topic of the entire framework and it is strictly related to the usage of its components.
In addition, models are also an important element for internationalization, as we will see in paragraph 12.6.
In order to make this task as easy as possible, Wicket offers two special model classes: However this solution has a huge drawback: the text displayed by the label will be static and if we change the value of the field, the label won't update its content.
Instead, to always display the current value of a class field, we should use the Property Model has just one constructor with two parameters: the model object (person in our example) and the name of the property we want to read/write ("name" in our example). Internally, methods get Object/set Object use property expression to get/set property's value.
The two methods on Model Changed() and on Model Changing() are triggered by Wicket each time a model is modified: the first one is called after the model has been changed, the second one just before the change occurs.In the examples seen so far we have worked with Label component using its constructor which takes as input two string parameters, the component id and the text to display:.It can wrap any object that implements the interface The reason of this constraint over data object is that this model is stored in the web session, and we know from chapter 6 that data are stored into session using serialization.The topic of security will be discussed later in chapter 20.The following form is for example purposes only and is not suited for a real application.Model is essentially a facade interface which allows components to access and modify their data without knowing any detail about how they are managed or persisted.