标签: gwt-history

使用GWT历史记录传递参数?

我有一个名为Orders的页面和一个名为OrderDetails的页面.正如优秀的MVP教程中所述,我正在使用History(带有一个中央ValueChangeListener)和一个"事件总线"HandlerManager.

我有一个为某个人点击订单的事件注册的处理程序,它基本上创建了OrderDetailPresenter,传递了订单ID(包含在ShowOrderDetailEvent中),然后调用History.newItem("orderDetails").

这有几个主要缺点:这个新创建的历史记录步骤不知道传入了哪个订单ID.例如,如果有人为订单详细信息页面添加书签(或者在浏览器中返回然后向前),它们将变为空没有订单详情的页面.

所以我的问题是:我应该做一些类似的事情History.newItem("orderDetails?id="+id),然后在我的值变更监听器中解析历史记录吗?如果是这样,是否有最佳实践,API或库以这种方式将参数解析并格式化为字符串?

java gwt history url-encoding gwt-history

10
推荐指数
1
解决办法
6064
查看次数

GWT.删除锚点部分网址

嗨,我正在使用GWT及其支持历史的"历史"课程.它非常方便,但如何从网址中删除锚点部分?例如:

我的基本网址:

http://www.mysuperwebsite.com/myapp
Run Code Online (Sandbox Code Playgroud)

使用应用程序时,我会移动到添加新历史记录项的位置.

在代码中:

History.newItem("funnygame");
Run Code Online (Sandbox Code Playgroud)

结果:

http://www.mysuperwebsite.com/myapp#funnygame
Run Code Online (Sandbox Code Playgroud)

我再换一次地方:

在代码中:

History.newItem("notsofunnygames");
Run Code Online (Sandbox Code Playgroud)

结果:

http://www.mysuperwebsite.com/myapp#notsofunnygames
Run Code Online (Sandbox Code Playgroud)

然后我想回到我的主页(http://www.mysuperwebsite.com/myapp).

应该在代码中放置什么?:

????
Run Code Online (Sandbox Code Playgroud)

回到:

http://www.mysuperwebsite.com/myapp
Run Code Online (Sandbox Code Playgroud)

有没有可以实现我的目标的标准方式?


如果我添加这样的东西:

History.newItem(""); 
Run Code Online (Sandbox Code Playgroud)

要么

History.newItem(null); 
Run Code Online (Sandbox Code Playgroud)

网址将成为

http://www.mysuperwebsite.com/myapp#
Run Code Online (Sandbox Code Playgroud)

这不是我喜欢的,我需要它没有尖锐的性格.

html javascript java gwt gwt-history

7
推荐指数
1
解决办法
2314
查看次数

GWT:如何抑制超链接,以便它不会更改我的历史标记

我想让我的超链接像按钮一样工作(仅响应 Click 事件),但是,当您单击它们时,它们会自动更改历史记录令牌,这会弄乱我的应用程序中的历史记录机制。有没有办法抑制超链接的默认行为,以便它不会更改历史标记?我尝试将 targetHistoryToken 设置为 null 但它不起作用。

谢谢,

events gwt hyperlink gwt-history

5
推荐指数
2
解决办法
2561
查看次数

GWT历史记录删除项目

是否可以删除gwt中的历史记录项?我想要实现的是,在特殊情况下,按下浏览器后退按钮将显示后面的第二个历史项目.我知道我可以通过手动调用History.back();来实现它,但我不喜欢这样,因为用户将看到一个左右的转换,这是不好的.请事先提供帮助.

裤裤

gwt gwt-history

4
推荐指数
1
解决办法
2813
查看次数

GWT:地点,历史和MVP示例

假设我想创建一个包含两个简单"屏幕"的GWT应用程序:

  • 一个主菜单,用户看到,当应用程序第一次启动时(他们到特定的URL) -忘记登录屏幕等,对于这个简单的例子; 和
  • 一个编辑首选项 "页" /屏幕/观点,即需要当用户点击主菜单上的一个按钮,主菜单的地方; 此编辑首选项屏幕还有一个按钮,用户可以将用户带回主菜单; 从而
  • 用户可以整天在主菜单和编辑首选项"页面"之间来回切换(这是GWT,因此它实际上是一个单页应用程序)

所以这个伪代码可能看起来像:

public class MainMenuPresenter implements Presenter {
    // mainMenuScreen may be a Composite that contains a Button for
    // switching/navigating to the EditPreferencesView
    private MainMenuView mainMenuScreen;
}

public class EditPreferencesPresenter implements Presenter {
    // editPrefsScreen may be a Composite that contains a Button for
    // switching/navigating back to the MainMenuView
    private EditPreferencesView editPrefsScreen;
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. a Place和它的关联如何Activities适应这种范式?如果它是MVP和地方/活动之间的选择,那么这个例子将如何使用"活动/地方"范例?
  2. 如果MVP和Activities/Places可以很好地一起玩(并且不是互斥的),那么我们如何在这里实现GWT的历史API,以便我们可以MainMenuView在历史中设置为一个"位置",EditPreferencesView作为第二个"位置",然后允许用户点击后退/前进浏览器按钮并在它们之间切换? …

java mvp gwt android-activity gwt-history

4
推荐指数
1
解决办法
2103
查看次数

GWT历史记录令牌重写

我想做历史记录重写.不知道它的可能性与否.例如,如果我的应用程序URL是http:// localhost:8080/myapp /#login,其中包含'login'作为历史记录标记.是否可以重写URL,如http:// localhost:8080/myapp/user/login.

或者是否可以从历史记录中删除"#"?

gwt url-rewriting token gwt-history

2
推荐指数
1
解决办法
1506
查看次数

GWT MVP历史回归

我有一个MVP应用程序实现.后退按钮工作正常.我想以编程方式返回上一个地方.我该怎么办?

我正在寻找类似的东西:

clientFactory.getPlaceController().goBack();
Run Code Online (Sandbox Code Playgroud)

谢谢.

java mvp gwt gwt-mvp gwt-history

2
推荐指数
1
解决办法
1612
查看次数