обработка сеанса для объекта запроса в wicket framework

#java #frameworks #wicket

#java #фреймворки #wicket

Вопрос:

1) я добавил элемент в объект запроса, приведенный ниже, мне нужно получить / прочитать это на моей веб-странице, как я могу это сделать?

 <input type="hidden"> wicket:id="submitted" value="false" />
  

например: в сервлете используйте request.getParameter(«отправлено») из скрытого сеанса.

2) в моем классе контроллера я хочу установить значение в сеансовом или скрытом поле, чтобы я мог идентифицировать пользователя, если он уже обработал запрос или ввел мой блок кода.

Ответ №1:

1) использовать HiddenField

2) использовать пользовательский WebSession объект:

 public class MySession extends WebSession{
    public Mysession(Request request){super(request);}
    private boolean completedRegistration;

    public boolean hasCompletedRegistration() {
        return completedRegistration;
    }

    public void setCompletedRegistration(boolean completedRegistration) {
        this.completedRegistration = completedRegistration;
    }
}
  

Комментарии:

1. мой основной класс уже расширяет панель, т.Е. общедоступный класс LoginSafePanel расширяет панель {, а статический класс расширяет другие классы, как показано выше. это существующий класс, необходимо исправить ошибку 😉

2. @akb нет проблем, используйте add(new HiddenField("submitted", "false"))

3. я новичок в wicket, как я могу получить / прочитать это значение? можете ли вы обновить свой ответ?

4. @akb StackOverflow не заменяет изучение языков / фреймворков, которые вы используете. Возьмите книгу Wicket или прочитайте справочное руководство

5. спасибо, нет конструктора для HiddenField (строка, String)

Ответ №2:

Я не уверен, что полностью понял ваши вопросы.

Но, короче говоря, если вы хотите получить значение, сохраненное в вашем объекте запроса, вам нужно сопоставить модель вашего ввода с этим значением (с помощью HiddenField внутреннего класса wicket).

Если вы хотите отслеживать своего пользователя, лучшее, что можно сделать, это поискать набор cookie на стороне клиента, который позволит вам управлять его посещениями.

Пожалуйста, уточните свой вопрос, если хотите получить более точный ответ…