GWT MVP - 维护多个彼此独立的显示

2024-01-29

我有一个 GWT 应用程序,并且正在将 GWT MVP 与地点/活动一起使用。

我的应用程序布局是这样的

菜单|内容

菜单和内容显示将动态变化,并且其中一个变化独立于另一个。我的意思是,当内容显示发生变化时,我不想更新菜单显示,反之亦然。两个显示器都需要能够响应 PlaceChangeEvents 并在发生这些事件时进行自我更新。问题是每个显示器应该仅响应某些 PlaceChangeEvents 进行更新,而忽略针对另一个显示器的 PlaceChangeEvents。然而,这在使用“标准”GWT MVP 模式时不起作用,因为即使每个显示器都有自己的 ActivityManager,它们也会自动拾取所有 PlaceChangeEvents,因为有一个 PlaceController 正在侦听单个 EventBus。我能想到的唯一方法是使用两个 EventBus 和两个 PlaceController - 一个用于菜单,一个用于内容。所以我的问题是,这是否是一个好的解决方案,或者是否有我缺少的更简单/更好的方法?此解决方案的一个问题是 PlaceHistoryHandler 只能注册到 EventBus 之一。


地点的改变实际上是由ActivityMappers控制的。他们获取一个 Place 并返回相应的 Activity。您可以在此处控制地点如何映射到活动:

  1. 您需要创建两个 ActivityMapper(MenuActivityMapper、ContentActivityMapper),然后实例化两个 ActivityManager,每个 ActivityManager 都有自己的 ActivityMappers。然后对于您调用的每个 ActivityManagersetDisplay(AcceptsOneWidget display)对于每个您传递的区域(显示),它将显示其内容。

  2. 对于菜单,您可能只会使用一项活动,因为它在所有地方都可用。所以MenuActivityMapper.getActivity()将始终返回相同的 MenuActivity 实例。为了使 MenuActivity 仍然能够根据位置更改调整其外观,MenuActivity 应该侦听 PlaceChangeEvents。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GWT MVP - 维护多个彼此独立的显示 的相关文章

  • GWT Dev 模式和外部服务器出现间歇性序列化异常

    我有一个 GWT 应用程序 它在开发模式下与 GWT 的嵌入式码头服务器完美运行 但是 我需要转向使用外部码头服务器 出于各种原因 我遵循了 GWT 文档编译与调试 http www gwtproject org doc latest De
  • GWT 同步调用

    我在 GWT 中有一个方法 它使用请求的 fire 方法从数据库检索数据 因为你们都知道它是异步的 我从 JS 调用这个方法 所以我需要同步是否可能 private static String retriveLocation String
  • GWT 应用程序的内存使用情况

    我目前正在开发 GWT 应用程序 作为未来项目的技术证明 我喜欢用 Java 而不是 JavaScript 构建 AJAX 代码的方式 但当我重复调用 RPC 服务时 我似乎遇到了内存问题 浏览器内存使用量不断增长 当我搜索 Google
  • 如何使用 GWT Designer 配置 Ext GWT?

    我在使用 GWT Designer 配置 GXT 时遇到问题 我拥有 Eclipse GWT 插件和 GXT 的所有新版本 但无法配置 GXT 以与 GWT Designer 一起使用 我设置了我的项目 以便可以编译我的 GXT 项目并在浏
  • 动态创建具有不同亮度的颜色

    我有一种颜色 我只在运行时知道 我想使用这种颜色创建两种新颜色 一种非常明亮 一种不明亮 为了澄清一下 假设我的颜色是红色 我想创建 浅红色 颜色和 深红色 颜色的十六进制值 我该怎么做呢 我的代码是使用 GWT 用 Ja va 编写的 将
  • JSNI 中 $doc.getElementById("id") 和 document.getElementById("id") 之间的区别是什么

    我正在 GWT 应用程序内的本机函数中工作 并且尝试了这两种方法 document getElementById id 返回 null 但 doc getElementById 返回有效元素 这些方法之间有哪些 概念上 区别 提前致谢 GW
  • 在 Java 中如何将类作为参数传递?

    有什么方法可以将类作为 Java 中的参数传递并从该类中触发一些方法吗 void main callClass that class void callClass classObject classObject somefunction o
  • GWT:对RichTextArea进行文本限制并阻止用户输入更多字符

    我正在使用 GWT RixhText Area 并希望在 richText Area 中限制 100 个字符 现在我正在做这个 description addKeyDownHandler new KeyDownHandler Overrid
  • 超级开发模式下的客户端 GWT 调试

    我正在使用 超级开发模式 Java 8 和 Eclipse Photon 在 Eclipse 中调试 GWT 我已在代码的客户端放置断点 但似乎没有一个断点触发 我正在阅读文档 但它似乎与 遗留开发模式 调试有关 http www gwtp
  • 如何在 GWT 的 Jetty 中启用 HTTPS?

    如何在 GWT 附带的 Jetty 中启用 HTTPS gwt dev jar 中 隐藏 了一个 README SSL txt 你可以找到最新版本在 Github 上 https github com gwtproject gwt blob
  • 架构问题:GWT 还是 Vaadin 创建桌面应用程序?

    我们计划创建一个提要阅读器 as a Windows 桌面和 iPad 应用程序 正如我们希望能够显示网站 AND 运行 我们自己的 JavaScript在此应用程序中 我们考虑将应用程序作为 HTML CSS JavaScript 交付
  • 如何在 GWT 中取消转义字符串

    我使用了 SafeHtmlUtils htmlEscape text 并且我想使用相反的功能 你能告诉我 gwt 中是否有像 unescapeHtml 这样的函数 如果 并且仅当 您可以相信文本不包含恶意内容 您可以使用 import co
  • 让浏览器在登录
    中保存用户名/密码值?

    我有一个 GWT 应用程序 需要一个用户登录表单 我想让浏览器保存用户的用户名和密码 我相信我需要为此使用一种 常规 形式 不是由 GWT 生成的形式 所以我做了一个简单的表格
  • GWT 和身份验证

    保护 GWT Tomcat 应用程序执行身份验证和授权的最佳策略是什么 有两种基本策略 确保入口点安全 确保远程服务的安全 确保入口点安全 最简单的方法是使用常规 Web 应用程序安全工具限制对 GWT 生成的 html js 文件的访问
  • 如何使用 GWT 检测操作系统?

    Basically what I want to know is to find out if my GWT application is running on a MacOS or any other operating system t
  • GWT SafeHTML、XSS 和最佳实践

    OWASP 的优秀人员强调 您必须对 HTML 文档中要放入不受信任数据的部分 正文 属性 JavaScript CSS 或 URL 使用转义语法 看OWASP XSS https www owasp org index php XSS 2
  • GWT 和 Guava 的问题

    我很难让 GWT 与 Guava 一起工作 我添加了guava r09 gwt jar到我的类路径 并且
  • GWT:将自定义小部件添加到单元格丢失自定义小部件的事件

    我们的要求是使用以下命令制作一个可编辑的网格CellTable在其单元格中包含自定义小部件 自定义小部件具有文本框和与文本框关联的搜索按钮 要将自定义小部件添加为单元格 请创建以下子类AbstractEditableCell类 由 GWT
  • GWT 身份验证和用户信息访问

    只是想知道我的以下身份验证方法是否正确 有没有什么陷阱或者遗漏的地方 非常欢迎建议和讨论 1 gt 用户提供用户名和密码 并通过RPC发送到服务器 与数据库中存储的哈希值进行比较 2 gt 假设用户名和密码准确 会话中会保存一个Auth T
  • GWT 中出现“无法在类路径上找到 XXX.gwt.xml”错误

    将 Maven GWT 项目导入 Eclipse 后 调试器无法工作 抱怨它 Unable to find ProjectName gwt xml on your classpath 你如何修复这个错误 事实证明 当您将某些 GWT 项目调

随机推荐

  • 在 Spark 结构化流中创建 Dataframe forEachWriter 以插入 kudu 表问题

    我有一个问题 我尝试寻找解决方案 但无法找到任何解决方案 并且希望获得任何 指针 所以我试图将 Spark 结构化流与 Apache Kudu 集成 我正在从 Kafka 读取流并进行一些处理 现在应该写入 Kudu 表 问题是 Spark
  • 将字符向量中的日期替换为特定格式

    我得到以下字符向量 On the evening of 2017 04 23 I was too tired to complete my homework that was due on 24 04 2017 我需要搜索它以查找所有出现的
  • 使用 Terraform 或 Helm 在 EKS 集群上的 ISTIO 上进行设置

    我是 Terraform 和 Helm 世界的新手 我需要在 AWS EKS 集群上设置 Istio 我能够使用 Terraform 设置 EKS 集群 我正在考虑通过编写 terraform 模块使用 Terraform 在 EKS 集群
  • 具有默认值的实例变量的 Morphia 投影行为

    我不确定 Morphia 是否是这样设计的 但它是这样的 Student class 方法略 Entity value students noClassnameStored true public class Student Id priv
  • Google 登录 - GoogleIdTokenVerifier 延迟验证令牌

    我已经实现了从 Android 或 iOS 设备接收 Google 登录令牌并尝试验证它的后端 代码几个月前工作正常 没有改变 但最近开始拒绝所有无效令牌 当我在发布时间约 10 秒后尝试使用之前失败的令牌再次重复验证时 它开始工作并返回用
  • C#/.NET 相当于 Java 的 Matcher.matches() 和 Matcher.lookingAt()

    我正在寻找一种方法来确定单个正则表达式是否与整个字符串 字符串的开头或 C 中的一部分匹配 在Java中 你可以构造一个Matcher对象 并使用方法matches 检查它是否与整个输入匹配 lookingAt 查看它是否与输入的开头匹配
  • 在选项卡布局上实现分页

    我知道如何使用 xml 布局开发选项卡活动 而且我知道如何在 android 中进行分页 如 android market 应用程序中所示 但我不知道如何将此分页概念与选项卡活动合并以及如何从 java 代码创建选项卡活动 请参阅下面的代码
  • 如何在 Yii-2 应用程序中添加验证码?

    我正在尝试将验证码添加到登录表单中 我的环境 Yii 2 PHP 5 4 45 版本 IIS 10 0 Windows 10 In login php LoginForm php and SiteController php我添加了以下内容
  • Android Textview 文本在底部被截断

    所以我有 2 个文本视图 一个在另一个之上 但是当填充第二个文本视图时 剪切会在底部被切断 标题为 header subtitle 的文本视图存在相关问题 显然我错过了一些明显的东西 但不知道是什么 Issue https i stack
  • 显示大于设备屏幕的图像

    我想在不调整图像大小的情况下显示比设备屏幕更大的图像 它必须位于屏幕中央 我怎样才能做到这一点 将滚动视图与图像视图一起使用并设置该滚动视图的高度 Example
  • 用于执行“Between”的 Linq 表达式

    在 SQL 中 您可以编写一个查询 在 nvachar 类型的列上执行 Between 并简单地返回指定的最小值和最大值之间的所有行 例如 Table Id Int Name nvarchar Contents 1 Annie 2 Bill
  • Matplotlib 为重叠的艺术家选择事件顺序

    我在 matplotlib pick 事件中遇到了一个非常奇怪的问题 我有两位艺术家 他们都是可选择的并且一开始就不重叠 洞 和 钉子 当我选择其中之一时 在事件处理过程中我move另一个到我刚刚点击的位置 将 钉子 移动到 洞 中 然后
  • Range.Find 在 VBA Excel 中不区分一月和十一月(二月和十二月)

    假设我有以下琐碎的任务 连续写出 2016 年 1 月到 2018 年 6 月的第一个日期 找到 01 Janu 2016 并将其涂成红色 Use Range Find 因此 我创建了一个代码 从 1 循环到 30 并写入每个月的第一个日期
  • PyQt5:使用不透明小部件创建透明窗口

    是否可以使 mainWindow 完全透明 而其他小部件仍然可见 For example 我想让应用程序透明并使其他所有内容可见 例如 mainFrame 关闭按钮 最小化按钮 正如 Felipe提到的 你可以使用 window setAt
  • 在python中提取分隔符[]之间的单词

    从下面的字符串中 我想提取分隔符之间的单词 like Service Current Service 9991 1 22 str mysrv events Generating Event Name Service Current Cate
  • 在 NSPredicate 中组合“AND”和“OR”条件

    再次回来需要更多帮助来构建我的 NSPredicates Category name string subs lt gt gt SubCategory SubCategory name string numbervalue NSNumber
  • 每个帖子有多个例外,并带有摘录类别

    我正在寻找一种解决方案 允许自定义帖子类型中的每个帖子有多个摘录框 并且有一种方法可以让这些摘录具有类别 我知道我可以添加元框来提供额外的文本区域并显示该文本 但我不太确定这就是我想要的 澄清一下 我有一个自定义的推荐帖子类型 该帖子类型具
  • 是否可以使用 MediaRecorder() 获取音频数据的原始值

    我使用 MediaRecorder 和 getUserMedia 来记录浏览器中的音频数据 它可以工作 但是记录的数据是以 Blob 格式记录的 我想获取原始音频数据 振幅 而不是 Blob 有可能做到吗 我的代码如下所示 navigato
  • 如何从类方法中调用全局函数

    我有以下代码 def static func name print Name name class A def init self name self name name def fun self static func self name
  • GWT MVP - 维护多个彼此独立的显示

    我有一个 GWT 应用程序 并且正在将 GWT MVP 与地点 活动一起使用 我的应用程序布局是这样的 菜单 内容 菜单和内容显示将动态变化 并且其中一个变化独立于另一个 我的意思是 当内容显示发生变化时 我不想更新菜单显示 反之亦然 两个