在gwtp中允许页面刷新的最佳方法是什么?

时间:2012-02-14 18:10:51

标签: gwt gwt-mvp gwt-platform gwt-places

我是gwtp的初学者,我想构建一个显示产品列表的应用程序,然后点击我显示所选产品的详细信息...... 我的问题是如何刷新页面以允许页面产品详细信息刷新,同时尊重安全措施,显然我不想在请求中传递产品的ID。 我想在会话中存储id但是我不知道它是否会影响应用程序的性能,因为RPC的响应时间很长。

对此有任何帮助或澄清将不胜感激。

2 个答案:

答案 0 :(得分:0)

您可以考虑使用GWT的Cookie Support。正确实施后,您总能确切地知道他们最后做了什么并让他们回到那里变得容易。 Cookie显然是客户端的,所以它总是比RPC更快。

答案 1 :(得分:0)

我有一些建议,但要注意我对GWTP也很新......

安全

通过SSL / HTTPS进行通信。我使用servlet容器(web.xml)将它放在我的整个应用程序中,以便它与我的应用程序的非GWT部分无缝集成。

我没有发现将“身份证”与“身份证”相关联的问题。 in a url。您始终可以使用PlaceManager.revealPlace(PlaceRequest, boolean)阻止它显示在地址栏中。

组合视图

我有一个视图,左边是实体列表,右边是编辑表单。该列表始​​终显示并放置在“插槽”中。由父主持人​​明确表示:

public class Users extends Presenter<Users.View, Users.Proxy> {
@ContentSlot
public static final GwtEvent.Type<RevealContentHandler<?>> LIST_SLOT = new GwtEvent.Type<RevealContentHandler<?>>();
@ContentSlot
public static final GwtEvent.Type<RevealContentHandler<?>> FORM_SLOT = new GwtEvent.Type<RevealContentHandler<?>>();
@Inject
private UserList userList;

@Inject
public Users(EventBus eventBus, View view, Proxy proxy) {
    super(eventBus, view, proxy, Configuration.SLOT);
}

@Override
protected void onReveal() {
    super.onReveal();
    setInSlot(LIST_SLOT, userList);
}
...

我的应用有一个空表格&#39;当没有选择列表项时,默认显示的演示者。这可以防止列表和父级演示者成为&#39; place&#39; (需要token)。只有演示者层次结构中的叶展示者应该是“地点”。