2010-09-17 4 views
0

У меня есть форма и текст, который будет показан после отправки формы. На данный момент он выполняет следующие действия:Wicket Sessions

Пользователь1 вводит текст и отправляет форму -> получить результат Пользователь2 вводит сайт и видит, что ввод User1 -> должен удалить вход и ввести его собственный -> get новый результат ...

Я думаю, что у вас возникла проблема, User2 не должен видеть вход User1! Кроме того, я хочу сохранить введенный ввод для User1. Поэтому, если он вернется на сайт, он сможет увидеть свои данные и ничего больше!

Я думаю, что мне приходится иметь дело с сессиями здесь. Я слышал, что Кайчет преуспевает в сеансах, но я не могу заставить его работать. Я пробовал что-то вроде этого:

public class MainStartApplication extends WebApplication { 
    @Override 
    public Session newSession(final Request request, final Response response) { 
     return new MySession(request); 
    } 

    @Override 
    public Class<? extends WebPage> getHomePage() { 
     MySession.get().setUserId(user); 
    } 
} 

public class MySession extends WebSession { 
    private static final long serialVersionUID = 1L; 
    private String    userId; 

    public MySession(final Request request) { 
     super(request); 
    } 

    public static MySession get() { 
     return (MySession) WebSession.get(); 
    } 

    public void setUserId(final String userId) { 
     this.userId = userId; 
    } 

    public String getUserId() { 
     return userId; 
    }  
} 

Но он не работает. (Нет ошибок)

Возможно, вы можете дать мне несколько советов?

P.S. Im работает с Tomcat v6!

ответ

4

Wicket отлично справляется с выполнением сеансов, не требуя отладки с подклассификацией WebApplication и WebSession.

Было бы лучше, если бы вы разместили форму и код вида, что дало вам проблемы, и давайте помогать диагностировать реальную проблему.

Есть, конечно, ситуации, когда это право подклассифицировать их, но мне непонятно, что у вас есть эта необходимость.

Если вам действительно нужно что-то сделать в сеансе, то именно то, что вам нужно сделать, будет более ясным из контекста базовой проблемы.

0

Wicket имеет очень приятное управление сеансом, так же, как @Don Roby. Я использую калитку в основном для хранения информации о пользователе после входа пользователя. И я могу получить информацию в любое время, пока пользователь все еще имеет активный сеанс.

Возможно, эта ссылка может вам помочь: Wicket Custom WebSession