Exemple de zone de texte Wicket

Exemple de zone de texte Wicket

Tutoriel Wicket pour vous montrer comment créer une zone de texte, la valider et transmettre la valeur de la zone de texte à la page suivante.

//Java
import org.apache.wicket.markup.html.form.TextField;
...
final TextField username = new TextField("username", Model.of(""));
form.add(username);

//HTML

1. Exemple de zone de texte Wicket

Une page utilisateur pour afficher une zone de texte via lesTextField de Wicket.

Fichier: UserPage.java

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.Model;

public class UserPage extends WebPage {

    public UserPage(final PageParameters parameters) {

        add(new FeedbackPanel("feedback"));

        final TextField username = new TextField("username",
                Model.of(""));
        username.setRequired(true);
        username.add(new UsernameValidator());

        Form form = new Form("userForm") {

            @Override
            protected void onSubmit() {

                final String usernameValue = username.getModelObject();

                PageParameters pageParameters = new PageParameters();
                pageParameters.add("username", usernameValue);
                setResponsePage(SuccessPage.class, pageParameters);

            }

        };

        add(form);
        form.add(username);

    }
}

Fichier: UserPage.html






    

Wicket TextBox Example - UserPage.html

:

2. Validateur de nom d'utilisateur

Un validateur de nom d'utilisateur pour vous assurer que la longueur du nom d'utilisateur est comprise entre 5 et 15, et en caractères ou symboles a-z, 0-9, souligné, trait d'union.

Fichier: UsernameValidator.java

package com.example.user;

import org.apache.wicket.validation.CompoundValidator;
import org.apache.wicket.validation.validator.PatternValidator;
import org.apache.wicket.validation.validator.StringValidator;

public class UsernameValidator extends CompoundValidator {

    private static final long serialVersionUID = 1L;

    public UsernameValidator() {

        add(StringValidator.lengthBetween(5, 15));
        add(new PatternValidator("[a-z0-9_-]+"));

    }
}

3. Afficher la valeur de la zone de texte

Page pour afficher la valeur de la zone de texte à partir deUserPage.html.

Fichier: SuccessPage.java

package com.example.user;

import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.WebPage;

public class SuccessPage extends WebPage {

    public SuccessPage(final PageParameters parameters) {

        String username = "";

        if(parameters.containsKey("username")){
            username = parameters.getString("username");
        }

        final Label result = new Label("result", "Username : " + username);
        add(result);

    }
}

Fichier: SuccessPage.html



    

Wicket TextBox Example - SuccessPage.html

4. Demo

Si la zone de texte contient une erreur:

wicket textbox example

Si la zone de texte ne contient aucune erreur, accédez à la page suivante et affichez la valeur de la zone de texte.

wicket textbox

Téléchargez-le -Wicket-textbox-examples.zip (8 Ko)