【问题标题】:Wicket Sessions检票会议
【发布时间】:2010-09-17 14:17:21
【问题描述】:

在您提交表单后,我得到了一个表单和一些显示的文本。目前它执行以下操作:

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;
    }      
}

但它不起作用。 (没有错误)

也许你能给我一些提示?

附:我正在使用 Tomcat v6!

【问题讨论】:

    标签: session tomcat wicket


    【解决方案1】:

    Wicket 可以正确地处理相当多的会话,而无需您将WebApplicationWebSession 子类化。

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

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

    如果您确实需要在会话中做某事,那么从基本问题的上下文中您需要做的事情会更清楚。

    【讨论】:

      【解决方案2】:

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

      也许这个链接可以帮助你:Wicket Custom WebSession

      【讨论】:

        猜你喜欢
        • 2016-02-03
        • 1970-01-01
        • 2018-10-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-17
        • 2011-07-18
        相关资源
        最近更新 更多