java – 在Wicket 1.5(.2)中没有在url上重新加载的组件?
发布时间:2020-12-15 08:45:02 所属栏目:Java 来源:网络整理
导读:我第一次使用以下URL导航到我的应用程序: …/homepage/?0user= x 在调试模式中,我看到wicket很好地实例化我的面板等(显然). 如果我将URL更改为: …/homepage/?0user= y 然后没有任何反应,面板不会重新初始化(对于新用户=用户x的数据仍然显示)也不是Loadabl
我第一次使用以下URL导航到我的应用程序:
在调试模式中,我看到wicket很好地实例化我的面板等(显然). 如果我将URL更改为:
然后没有任何反应,面板不会重新初始化(对于新用户=>用户x的数据仍然显示)也不是LoadableDetachable – 或调用其他模型. 但是,如果我将URL更改为:
然后为用户y初始化所有面板 更进一步,如果您将URL更改回
然后再次显示用户x的数据. 看起来Wicket并不关心URL中的参数是否已经改变以决定是否重新加载组件. AFAIK在Wicket 1.4中运行良好.我想我理解这种行为背后的逻辑,但我不确定.此外,我想知道如果自定义参数更改以及如何从URL中删除“丑陋”?0(如果可能),如何强制Wicket重新加载? 解决方法
这是Wicket的有状态性质.页面实例化一次,解析参数等等.稍后您将不同的参数传递给已经实例化的页面,但这次它的构造函数根本没有被调用,因此PageParameters不会更新.更改为?1向Wicket询问id为1的页面,因为没有这样的Wicket实例化新实例并传递新参数.如果您想要始终拥有最新的请求参数,请使用getRequest().getRequestParameter(“user”),它将为您提供所需的信息. 说得通 ?
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |