在您提交表单后,我收到了一份表格和一些文字。目前它执行以下操作:
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!
答案 0 :(得分:4)
Wicket正确处理了相当数量的会话,而无需对WebApplication
和WebSession
进行子类化。
如果您发布表单并查看给您带来麻烦的代码会更好,让我们帮助诊断真正的问题。
当然有些情况下将这些子类化为正确的,但我不清楚你是否有这种需要。
如果你确实需要在会话中做一些事情,那么你需要做的事情将从基本问题的背景中更清楚。
答案 1 :(得分:0)
Wicket有一个非常好的会话处理,正如@Don Roby所说。我使用wicket会话主要是为了在用户登录后存储用户信息。只要用户仍然处于活动状态,我就可以随时获取信息。
也许此链接可以帮助您:Wicket Custom WebSession