Пример текстового поля калитки

Пример текстового поля калитки

Учебное пособие по калитке, которое покажет вам, как создать текстовое поле, проверить его и передать значение текстового поля на следующую страницу.

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

//HTML

1. Пример текстового поля калитки

Страница пользователя для отображения текстового поля черезTextField Wicket.

Файл: 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);

    }
}

Файл: UserPage.html






    

Wicket TextBox Example - UserPage.html

:

2. Имя пользователя валидатор

Валидатор имени пользователя, чтобы убедиться, что длина имени пользователя составляет от 5 до 15, а также в символах или символах a-z, 0-9, подчеркивание, дефис.

Файл: 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. Показать значение текстового поля

Страница для отображения значения текстового поля изUserPage.html.

Файл: 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);

    }
}

Файл: SuccessPage.html



    

Wicket TextBox Example - SuccessPage.html

4. Demo

Начало и посещение -http://localhost:8080/WicketExamples/

Если в текстовом поле есть ошибка:

wicket textbox example

Если в текстовом поле нет ошибок, перейдите на следующую страницу и отобразите значение текстового поля.

wicket textbox

Скачать -Wicket-textbox-examples.zip (8KB)