GWT - 将部分共享代码标记为“仅服务器”

问题描述 投票:0回答:4

我有一个 GWT 应用程序,除了传统的“客户端”和“服务器”包之外,还包含一个“共享”包,其中包含通过 RPC 来回传输的 POJO DTO。我需要在那些只应存在于服务器端的 DTO 中创建一些方法(即它们不应该编译为 JS,因为它们使用无法编译为 JS 的代码),尤其是

static()
方法。

这在 GWT 中可能吗(某些属性,ifdef,...)?

背景: 我有一些通用验证器,需要“注册”要验证的类(通过静态方法

register(Class<T>)
,并且由于我找不到任何 GWT init() 方法,所以我将注册放在 DTO 的静态构造函数中,所以当(如果)类被加载时,它会注册自身以进行验证。

java gwt
4个回答

1
投票

我们最近在项目中的一些 DTO 对象也遇到了一些类似的问题。我们最终将数据与方法分开,创建了第二组类,其中包含用于处理数据的静态方法。据我所知,没有任何方法可以在类中注释方法来阻止 gwtc 尝试将它们转换为 javascript。


1
投票

Google似乎在r11570中实现了它。


0
投票

这是在 GWT 2.6 中添加的。您现在可以使用 @GwtIncomplete 注释将某些方法标记为与 GWT 不兼容。 GWT 不会尝试编译这些方法。

© www.soinside.com 2019 - 2024. All rights reserved.