Wicket Sessions

时间:2010-09-17 14:17:21

标签: session tomcat wicket

在您提交表单后,我收到了一份表格和一些文字。目前它执行以下操作:

User1键入一些文本并提交表单 - >得到一些结果 User2进入该站点并看到来自User1的输入 - >必须删除输入并键入自己的 - >得到一个新结果......

我认为你得到了问题,User2不应该看到User1的输入!另外,我想存储User1的输入输入。因此,如果他回到网站,他应该能够看到他自己的数据,而不是别的!

我想我必须在这里处理会议 - 我听说Wicket在会话方面做得很好,但是我无法让它发挥作用。我尝试过类似的东西:

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。我正在使用Tomcat v6!

2 个答案:

答案 0 :(得分:4)

Wicket正确处理了相当数量的会话,而无需对WebApplicationWebSession进行子类化。

如果您发布表单并查看给您带来麻烦的代码会更好,让我们帮助诊断真正的问题。

当然有些情况下将这些子类化为正确的,但我不清楚你是否有这种需要。

如果你确实需要在会话中做一些事情,那么你需要做的事情将从基本问题的背景中更清楚。

答案 1 :(得分:0)

Wicket有一个非常好的会话处理,正如@Don Roby所说。我使用wicket会话主要是为了在用户登录后存储用户信息。只要用户仍然处于活动状态,我就可以随时获取信息。

也许此链接可以帮助您:Wicket Custom WebSession