Exemple de Wicket CompoundPropertyModel
Dans Wicket, «CompoundPropertyModel» est similaire à «http://www.example.com/wicket/wicket-propertymodel-example/[PropertyModel]» et est le modèle le plus couramment utilisé pour lier un composant de formulaire à un objet propriété.
Note
Pour plus de détails, lisez ceciCompoundPropertyModel article
Voir l'exemple suivant pour vous montrer comment utiliser CompoundPropertyModel dans Wicket.
1. Classe d'utilisateurs
Une classe d'utilisateurs, avec deux propriétés - "nom" et "âge".
package com.example.user; import java.io.Serializable; public class User implements Serializable{ private String name; private int age; //setter and getter methods }
2. Exemple avec CompoundPropertyModel
Utilise «CompoundPropertyModel» pour lier les composants de zone de texte à l'objet «user».
package com.example.user; import org.apache.wicket.PageParameters; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.model.CompoundPropertyModel; public class UserPage extends WebPage { private User user = new User(); @SuppressWarnings("serial") public UserPage(final PageParameters parameters) { add(new FeedbackPanel("feedback")); final TextFieldtName = new TextField ("name"); final TextField tAge = new TextField ("age"); Form form = new Form ("userForm", new CompoundPropertyModel (user)) { @Override protected void onSubmit() { PageParameters pageParameters = new PageParameters(); pageParameters.add("name", user.getName()); pageParameters.add("age", Integer.toString(user.getAge())); setResponsePage(SuccessPage.class, pageParameters); } }; add(form); form.add(tName); form.add(tAge); } }
Dans ce cas,
-
new TextField(“name”) se liera à l'objet utilisateur,name property
-
new TextField(“age”) lié à l'objet utilisateur,age property
Téléchargez-le -Wicket-CompoundPropertyModel-Examples.zip (8 Ko)