GWT 编辑器框架

2024-02-03

有没有办法获取编辑器正在编辑的代理?

正常的工作流程是:

 public class Class implments Editor<Proxy>{
  @Path("")
  @UiField AntoherClass subeditor;


  void someMethod(){
   Proxy proxy = request.create(Proxy.class);
   driver.save(proxy);
   driver.edit(proxy,request);
 }
}

现在如果我有同一个代理的副编辑

public class AntoherClass implements Editor<Proxy>{
   someMethod(){
   // method to get the editing proxy ?
    }
 } 

是的,我知道我可以在创建子编辑器后使用 setProxy() 将代理设置为子编辑器,但我想知道是否有类似 HasRequestContext 的东西,但对于已编辑的代理。

例如,当您在非 UI 对象中使用列表编辑器时,这很有用。

谢谢。


您可以通过两种方式获取对给定编辑器正在处理的对象的引用。首先,一些简单的数据和一个简单的编辑器:

public class MyModel {
  //sub properties...

}

public class MyModelEditor implements Editor<MyModel> {
  // subproperty editors...

}

第一:而不是实施Editor,我们可以选择另一个也扩展编辑器的接口,但允许子编辑器(LeafValueEditor不允许副编辑)。咱们试试吧ValueAwareEditor:

public class MyModelEditor2 implements ValueAwareEditor<MyModel> {
  // subproperty editors...

  // ValueAwareEditor methods:
  public void setValue(MyModel value) {
    // This will be called automatically with the current value when
    // driver.edit is called.
  }
  public void flush() {
    // If you were going to make any changes, do them here, this is called
    // when the driver flushes.
  }
  public void onPropertyChange(String... paths) {
    // Probably not needed in your case, but allows for some notification
    // when subproperties are changed - mostly used by RequestFactory so far.
  }
  public void setDelegate(EditorDelegate<MyModel> delegate) {
    // grants access to the delegate, so the property change events can 
    // be requested, among other things. Probably not needed either.
  }
}

这要求您实现上例中的各种方法,但您感兴趣的主要方法是setValue。您不需要自己调用这些,它们将由驱动程序及其委托调用。这flush如果您计划对对象进行更改,则方法也很好用 - 在刷新之前进行这些更改将意味着您正在预期的驱动程序生命周期之外修改对象 - 不是世界末日,但可能会在以后让您感到惊讶。

第二:使用SimpleEditor副主编:

public class MyModelEditor2 implements ValueAwareEditor<MyModel> {
  // subproperty editors...

  // one extra sub-property:
  @Path("")//bound to the MyModel itself
  SimpleEditor self = SimpleEditor.of();

  //...
}

使用这个,你可以调用self.getValue()读出当前值是多少。

编辑:看着AnotherEditor你已经实现了,看起来你正在开始制作类似 GWT 类的东西SimpleEditor,尽管您可能还需要其他子编辑:

现在如果我有同一个代理的副编辑

public class AntoherClass implements Editor<Proxy>{
  someMethod(){  
    // method to get the editing proxy ?
  }
}

该副编辑可以实现ValueAwareEditor<Proxy>代替Editor<Proxy>,并保证其setValue编辑开始时,将使用 Proxy 实例调用该方法。

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

GWT 编辑器框架 的相关文章

  • 如何隐藏 HTML 文本输入字段中的插入符号?

    如果我有一个像这样的 HTML 输入字段
  • 在 GWT 中使数据网格的行可拖动

    我想制作一个数据网格 其中的行可以拖动 以便人们可以通过拖动行来上下移动行 由于数据网格的行将作为元素获取 我知道如何使小部件可拖动 但是如何使数据网格的行可拖动 我不想使用任何额外的插件或库来实现此目的 我所知道的唯一支持单元格小部件拖放
  • MS Dynamics CRM 2012:脚本编辑器增强功能

    我一直在尝试查找有关下一个 Microsoft Dynamics CRM 产品 2012 6 的更多信息 我主要对脚本编辑器的任何增强感兴趣 版本 4 和版本 5 2011 之间有很大的改进 最受我欢迎的是跨表单 字段事件共享脚本函数的能力
  • Spring security 已登录用户的重定向问题

    在使用我的基于 GWT 的 Web 应用程序实现 Spring Security 时 我找到 一切都按预期正常工作 除了以下事实 我打开了 login jsp 并给出了有效的用户登录凭据 提交后 成功重定向到主页 现在 当我在地址栏中编辑
  • 使用 PHPstorm 让 php 代码在浏览器中执行

    因此 当我单击 运行 时 PHPstorm 正在其控制台中正常运行 php 代码 这很好 但我想在浏览器中看到它 所以我在 PHPstorm 中创建了一个新的 PHP Web 应用程序 将服务器设置为 localhost 8000 现在 当
  • Xcode 助理编辑器不会显示部分代码

    首先 我想让您知道该类已设置为每个中的正确文件ViewController 我知道这一点 因为它之前确实有效 但后来我在 Xcode 中发生了 崩溃 它快速闪烁 而我无法在它再次关闭之前读取它 我的问题是 我有很多ViewControlle
  • “Android”中的所见即所得视图编辑器?

    复制 有适用于 Google Android 的表单设计器吗 https stackoverflow com questions 1755860 我想移动一个复选框 以便它显示在与 main xml 内绝对布局下的左上角不同的位置 对于 A
  • MVP 和 GWT 小部件之间的通信

    如果我将 MVP 模式与 GWT 结合使用 如 2009 年 Google I O 中的 GWT 架构最佳实践讨论 但已将信息分散到多个小部件中 那么应该如何填充值对象 假设我有一个 EditPersonView Presenter 一个
  • GWT 和 Google 文档 API

    我正在使用 GWT 创建一个简单的应用程序 让教师可以轻松创建自己的课程 该应用程序将位于 Google App Engine 上 但我想将课程存储在用户的 Google 文档空间中 是否可以 据我所知 gwt 将 java 转换为 jav
  • 如何在 GWT 中取消转义字符串

    我使用了 SafeHtmlUtils htmlEscape text 并且我想使用相反的功能 你能告诉我 gwt 中是否有像 unescapeHtml 这样的函数 如果 并且仅当 您可以相信文本不包含恶意内容 您可以使用 import co
  • SMARTGWT 数据源 (GWT-RPC-DATASource) LISTGRID

    我在使用 smartGWT 绑定 ListGrid 中的数据源时遇到问题 我有 GWT RPC DataSource 并将其设置为我的数据源 grid setDataSource ds 单击一键 我的数据源发生了一些更改 我正在生成新的数据
  • 如何向 UiBinder 中的 Google Web Toolkit 弹性表添加行?

    我在哪里可以找到UiBinder http code google com p google web toolkit wiki UiBinderFlexTable 的模板 我在用谷歌网络工具包 http en wikipedia org w
  • Vaadin - GWT 错误“模块 xxx 可能需要重新编译

    我正在加大 Vaadin 的力度 每当我尝试运行演示应用程序时 都会收到此 javascript 警报 GWT module com vaadin terminal gwt DefaultWidgetSet may need to be r
  • GWT 和身份验证

    保护 GWT Tomcat 应用程序执行身份验证和授权的最佳策略是什么 有两种基本策略 确保入口点安全 确保远程服务的安全 确保入口点安全 最简单的方法是使用常规 Web 应用程序安全工具限制对 GWT 生成的 html js 文件的访问
  • 在github原子编辑器中隐藏隐藏(点)文件

    我对 Github Atom 编辑器非常陌生 它总是显示隐藏文件 例如 git sass在侧窗格中 如何在atom编辑器的侧窗格中隐藏隐藏文件 点文件 编辑 gt 首选项 gt 包 在 已安装的软件包 下面的字段中 输入 树视图 该软件包有
  • gwt hibernate 程序中的异常

    我正在尝试制作一个简单的 GWT RPC Hibernate 程序 将用户添加到 MySQL 数据库 我正在使用 Eclipse EE 该应用程序已成功将用户添加到数据库 但在编译时引发异常 这是我的应用程序的例外情况和来源 例外 Exce
  • gwt 谷歌应用引擎 HTTP 错误 404

    我在 Eclipse 中使用 google 应用程序引擎创建了一个新的 gwt 项目 但是当我运行该项目时 在浏览器中我收到以下消息 HTTP 错误 404 访问 Test html 时出现问题 原因 NOT FOUND 由码头提供动力 现
  • GWT SafeHTML、XSS 和最佳实践

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

    谁能告诉我一种从 GWT 客户端访问 WSDL Web 服务的方法 这可能吗 Thanks 智能网关 http www smartclient com product index jsp支持 WSDL 数据源 除此之外 您始终可以将 WSD
  • 根据外形尺寸更改入口点类别

    如果用户从移动 Web 浏览器或桌面 Web 浏览器访问 我希望在我的 GWT 应用程序中加载不同的用户界面 我想知道如何编辑我的 Application gwt xml 文件 更改根据外形规格加载哪个入口点类 我认为这可能是这样的 但我只

随机推荐

  • Haskell——如何在同一个文件中使用多个模块?

    抱歉 这是一个愚蠢的问题 但我无法弄清楚如何将多个模块放在同一个文件中 假设文件名为A hs 如果我把模块B首先 即 module B where module A where 它抱怨说它期望A当我运行 ghci A 时 它不是顶级的 所以
  • 通过 Docker 主机名在两个微服务之间进行通信

    现在如何运作 微服务 X 使用静态 ip 向微服务 Y 发出 REST API 请求 http ip address port doSomething 问题 问题是我不能长期保证静态ip 我不想通过使用 docker 主机名来解决这个问题
  • 复制 Xcode 4 项目

    基本上我想为我的 Xcode 项目和所有文件制作一个独立的副本 我怎样才能做到这一点 我正在研究图形框架 我想为每个框架使用相同的 UI 借调 zoul https stackoverflow com users 17279 zoul的评论
  • GWT CellTable 列调整大小/排序

    有没有人找到一种方法使 GWT CellTable 允许用户调整列大小 我们正在放弃旧的 gwt incubator 小部件 因为它们似乎与 GWT 2 1 存在一些兼容性问题 并且仍然需要以前具有的此功能 另外 如果我们能够像孵化器那样进
  • 我可以禁用对已弃用的方法和类的 CheckStyle 投诉吗?

    我正在维护一个已弃用某些公共静态字段的 API CheckStyle 大声抱怨这些 但我宁愿让它完全忽略它们 因为我已经通过将字段标记为已弃用来处理问题 具体来说 该库具有用于枚举的常量 公共静态最终 但它们没有标记为最终的 CheckSt
  • 如何将 R 脚本加载到 JRI 并从 Java 执行?

    我正在使用 JRI 从 Java 执行 R 我看到 JRI 使用eval 方法来执行R命令 我有一个用于执行的 R 脚本 如何在 JRI 中加载此脚本并执行它 您可以使用 R 命令运行整个脚本source
  • jQuery 验证 - 相同的规则取决于值

    我在输入字段验证中获取 2 个范围值的语法时遇到问题 我的表单有 2 个选择字段和 1 个文本输入字段 If select1 1 and select2 A 我希望文本字段上的范围值是1 to 120 If select1 1 and se
  • pyRevit WPF非模态问题

    所以我刚刚开始涉足 pyRevit 中的 WPF 我尝试像这样实现pyrevit forms WPFWindow 类 coding UTF 8 Third Party software credits pyRevit repository
  • IPython Notebook ipywidgets 不显示

    我创建了一个带有交互式滑块的表格 它允许我在表格上的不同时段之间切换 过去几天一直有效 直到今天 当我重新运行笔记本时 滑动条不再显示 没有出现错误消息 当表格出现时 代码似乎运行得很好 但滑动条没有出现 我也没有更改我的代码 因为我正在处
  • Breezejs 和 EF6 中基于角色的安全性

    我在一个具有 3 个主要安全角色的项目中使用 Breeze js AngularJS Web API 和 EF6 可以说高级别 中级别和低级别 在这些示例中 我有 Person Company LowLevelSecret MediumLe
  • Rxjava 3 + Retrofit2 - 多次插入数据库问题

    我正在尝试做以下事情 使用 Retrofit 将云数据库同步到设备上的本地 SqLite DB Room DB 可能会变得很大 大约有 100 000 个寄存器或更多 因此同步过程可能需要一些时间 所以它会发送第一个Retrofit请求来获
  • iOS JSON 数组和 MapKit

    我正在尝试使用 MapKit 映射 JSON 数组 我可以使用下面的代码在地图上获得一个点 但是我有几十个需要标记的引脚 并且我准备了一个 JSON 数组 我的单点代码如下 在我的 h 文件中 import
  • 生成随机证书

    我正在寻找一个实用程序类 它可以生成用于测试目的的随机证书字符串 知道是否已经实施了吗 要添加到 martijno 给出的解决方案中 JCAContentSigner 可用于避免映射到 AlgorithmIdentifier 即 OID 而
  • 如何在 Objective C (iphone) 中通过引用传递值

    我有一个非常基本的问题 我是一名新 iPhone 程序员 我的问题是任何人都可以告诉我如何通过引用 obj 中的函数来传递值 C 我知道如何用 VB 和 C 来做 但不知道如何在 Obj c 中做到这一点 Thanks Objective
  • angular2 rc6:RouterState类型上不存在属性queryParams

    通往 Angular 2 Final 之路上的另一个 立即弃用错误 错误消息很清楚 我现在只需要知道相应的字段叫什么即可 有人吗 RouterState 类型上不存在属性 queryParams 以为我解决了 属性 queryParams
  • 根据单独的对象键、值过滤对象数组

    我有以下一组人 const FIRST ARRAY name Simon age 32 occupation Student name Vera age 22 occupation Developer 我想过滤数组以生成基于 过滤器 对象的
  • SQLException.getSQLState 的所有可能值是什么?

    SQLException getSQLState检索SQLState为了SQLException目的 此方法可以返回哪些可能的值 我可以使用该值来识别数据库中发生的特定错误 即该值可以告诉我它是否是 PK 违规 唯一约束或列值太大等 另外
  • iOS/OSX 应用程序组 ID,以“group”开头。或“团队 ID”。

    在配置门户 或现在的任何名称 中创建应用程序组 ID 时 它会显示 输入应用程序组的唯一标识符 以字符串 组 开头 并且似乎在输入字段中强制执行此操作 此外 许多示例代码使用应用程序组 ID 字符串 例如 group com company
  • 在 Powershell 控制台中使用 CTRL + D 退出并使用 CTRL + L cls

    我正在努力使 CTRL D exit Powershell console and CTRL L clear the screen 就像在 bash 中一样 到目前为止 我已经看到我们可以定义 function D exit 但这意味着我必
  • GWT 编辑器框架

    有没有办法获取编辑器正在编辑的代理 正常的工作流程是 public class Class implments Editor