使用共享包中的 GWT NumberFormat 类

2024-03-24

在我的 GWT 项目中,我的服务返回一个类型的对象Shield我已经定义了。作为Shield客户端和服务器都使用类型,我已将类定义放在共享包中。

The Shield类使用com.google.gwt.i18n.client.NumberFormat类(替代,除其他外,java.text.DecimalFormat).

问题是数字格式不能放入共享包中,因为它创建了一个实例语言环境信息使用 GWT.create()。

有什么办法我可以使用com.google.gwt.i18n.client.NumberFormat从共享包中?


我通过创建 SharedNumberFormat 然后为从未使用过的服务器版本创建一个空的客户端存根解决了这个问题。

这是我的 SharedNumberFormat.java,您猜对了,它可以在共享代码中使用,并且在客户端和服务器端都可以正常工作:

import java.text.DecimalFormat;

import com.google.gwt.core.client.GWT;
import com.google.gwt.i18n.client.NumberFormat;

/**
* The purpose of this class is to allow number formatting on both the client and server side.
*/
public class SharedNumberFormat
{
    private String pattern;

    public SharedNumberFormat(String pattern)
    {
        this.pattern = pattern;
    }

    public String format(Number number)
    {
        if(GWT.isClient())
        {
            return NumberFormat.getFormat(pattern).format(number);
        } else {
            return new DecimalFormat(pattern).format(number.doubleValue());
        }
    }
}

然后我在我的超级源中删除了 java.text.DecimalFormat 实现:

package java.text;

/**
* The purpose of this class is to allow Decimal format to exist in Shared code, even though it is never called.
*/
@SuppressWarnings("UnusedParameters")
public class DecimalFormat
{
    public DecimalFormat(String pattern) {}

    public static DecimalFormat getInstance() {return null;}
    public static DecimalFormat getIntegerInstance() {return null;}

    public String format(double num) {return null;}
    public Number parse(String num) {return null;}
}

我在那里有额外的方法,因为我使用该类服务器端,如果它们不存在,编译器就会陷入困境。

最后,不要忘记将 super-source 标签添加到 *.gwt.xml 中:

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

使用共享包中的 GWT NumberFormat 类 的相关文章

  • 在 Eclipse 中隐藏重复的工具栏项

    我不知道如何 但我的 STS 有重复的工具栏项目 我不知道如何删除它们 这是我复制的工具栏的样子 我想摆脱这些 我试图隐藏工具栏 但这没有帮助 有人知道如何删除重复的吗 自从升级到 Oxygen 以来 我一直遇到同样的问题 我无法可靠地重现
  • 从 BroadcastReceiver 获取方法来更新 UI

    我正在尝试根据变量的变化更新用户界面BroadcastReceiver 因此 我需要调用一个扩展类的方法 以获取我提到的变量 BroadcastReceiver in MainActivity取决于但我无法以任何方式获得真正的返回值 扩展的
  • Java - 红、绿、蓝获取RGB

    通过致电getRGB int x int y with a BufferedImage对象 得到一个负数 如何将三个不同的值 红色 绿色和蓝色 转换为这个单个负数 使用颜色类 new Color r g b getRGB
  • 无法将 INode 类型值分配给 类型变量。为什么?

    我想知道为什么以下代码无法工作 public static
  • 想要从java中的char数组创建字符流

    我想从 char 数组构造一个流以使用 java 8 功能 例如过滤器和映射 char list a c e Stream
  • 为什么Java中的文件名与公共类名相同? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在Java中 文件名应该与文件名相同public class包含在该文件中 为什么这是一个限制 它有什么目的 Java 有一个有趣的方法 如果给
  • 限制 JPQL 中的结果数量

    如何限制从数据库检索结果的数量 select e from Entity e I need only 10 results for instance 您可以尝试像这样给出 10 个要显式获取的结果 entityManager createQ
  • Java - toString 到 Color

    我一整天都在努力解决这个问题 基本上我做了一个 for 循环 将条目添加到数组列表中 其中一项是 颜色 变量 我已经用过random nextInt为颜色构造函数的红色 绿色和蓝色部分创建新值 我还设置了一个toString方法 这样我就可
  • 使用 Hibernate Criteria 过滤 Map 中的键和值

    我有以下持久类 public class Code ElementCollection targetClass CodeValue class MapKeyClass CodeProperty class JoinTable name co
  • 如何修复maven错误JAVA_HOME环境变量未正确定义

    当我在虚拟环境中检查maven的版本时 出现以下错误 The JAVA HOME environment variable is not defined correctly This environment variable is need
  • Java:不使用 Arrays.sort() 对整数数组进行排序

    这是我们 Java 课程的练习之一中的说明 首先 我想说我 做了我的功课 我不仅仅是懒惰地请 Stack Overflow 上的人帮我回答这个问题 在所有其他练习中 这个特定项目一直是我的问题 因为我一直在努力寻找 完美的算法 编写JAVA
  • JPA 的 Hibernate 查询提示

    我一直在尝试为所有可以通过设置的提示找到一个明确的资源Query setHint String Object JPA 中的方法调用 但我一无所获 有人知道一个好的参考吗 See 3 4 1 7 查询提示 http docs jboss or
  • 按名称获取 ArrayList

    这是正确的获取方式吗ArrayList
  • 如何在启用嵌入时间戳和 LTV 的情况下签署 PDF?

    我正在尝试签署启用了时间戳和 LTV 的 pdf 以便它在 Adob e Reader 中显示如下 在英语中 这意味着 签名包含嵌入的时间戳 和 签名启用了 LTV 这是我正在使用的代码 PrivateKey pk get pk from
  • 从特定 JAR 文件读取资源(文件的重复路径)

    假设您有 jar1 和artifactId 动物园 jar2 和artifactId 动物 两个 jar 都有一个具有相同路径的资源文件 例如 animals animal txt 有什么方法可以从特定的 jar 中读取该文件吗 使用 ge
  • 将 PropertyPlaceholderConfigurer 中的所有属性注入到 bean 中

    我有一个PropertyPlaceholderConfigurer加载多个属性文件 我想通过配置 XML 将合并的属性映射注入到 Spring Bean 中 我可以这样做以及如何做 您只需创建一个属性 bean 并将其用于您的Propert
  • Java给定长度的随机数

    我需要在 Java 中生成一个恰好 6 位数字的随机数 我知道我可以在随机发生器上循环 6 次 但是在标准 Java SE 中还有其他方法可以做到这一点吗 要生成 6 位数字 Use Random http download oracle
  • 线程上下文类加载器和普通类加载器的区别

    线程的上下文类加载器和普通类加载器有什么区别 也就是说 如果Thread currentThread getContextClassLoader and getClass getClassLoader 返回不同的类加载器对象 将使用哪一个
  • 使用 Commons 或 Guava 将文本文件转换为 Java Set

    我想将文件中的每一行加载到 HashSet 集合中 有没有一种简单的方法可以做到这一点 怎么样 Sets newHashSet Files readLines file charSet 使用番石榴 参考 文件 readLines http
  • 一个类中有多个具有相同参数类型的方法

    我知道 至少已经有了关于这个主题的一个问题 https stackoverflow com questions 5561436 can two java methods have same name with different retur

随机推荐

  • == 与 .NET 中的 Object.Equals(object)

    因此 当我还是个新手时 与现在的新手相比 我曾经认为这两个东西是彼此的语法糖 即使用一个而不是另一个只是个人喜好 随着时间的推移 我发现这两者不是一回事 即使在默认实现中也是如此 请参阅this http web archive org w
  • 是什么让Python3的打印函数线程安全?

    我在各种邮件列表和论坛上看到人们不断提到 Python 3 中的打印函数是线程安全的 根据我自己的测试 我认为没有理由怀疑这一点 import threading import time import random def worker l
  • 从引用创建shared_ptr

    我对 C 比较陌生 这似乎是一个菜鸟问题 但我无法使用互联网上的其他资源来解决它 我正在尝试从引用创建一个shared ptr 我有以下内容Book class include
  • 将“正常”std::string 转换为 utf-8

    让我们看看我是否可以在没有太多事实错误的情况下解释这一点 我正在编写一个字符串类 我希望它使用utf 8 存储在 std string 中 因为它是内部存储 我希望它能够同时 正常 std string and std wstring作为输
  • 如何仅删除一些方面标签?

    Using facet wrap 是否可以只删除一些方面标签 在下面的示例中 我希望物种标签仅出现在每行的第一列中 我知道我可以使用labeller功能 但不包括如何更改单个标签 data iris library tidyr librar
  • 在 firebase 中看不到请求标头的值?

    我执行以下操作 var headers new Headers headers append bunny test headers append rabbit jump fetch blahurl com someservice heade
  • 为什么 svcutil.exe 的 /reference 选项不起作用?

    我正在尝试使用 svcutil exe 从一组 wsdl 文件中仅生成服务契约 接口 当我这样做时 从 http 托管的 wsdl 它会获取包含的模式并为它们生成所有代码 Great 我会做什么REALLY然而 我喜欢做的是使用一组已经使用
  • SVG 线条动画不起作用

    I am trying to create an effect where smoke comes out of a vessel Like this example where smoke comes out of a coffee cu
  • 删除记录前检查规则违规情况

    我想为我的 SQL Server 2005 数据库中的许多实体实施 软删除 方案 我的意思是 如果没有违反引用完整性规则 我想从表中删除一行 否则我将在记录上设置一个标志以表示它已被删除 我希望强制执行此 软删除 模式的表必须将 无操作 应
  • 如何将两个小部件放置在同一行中?

    我有国家 地区代码 DropdownMenu 和电话 TextFormField 如何将它们放在同一级别 我尝试过对齐小部件 Row children
  • 更改 Android numberpicker 分隔线颜色

    我想将上面显示的数字选择器的分隔线颜色 蓝色 更改为透明 我尝试了很多事情 比如 number picker setDividerDrawable getResources getDrawable R color transparent n
  • “可选类型‘字符串’的值?”没有打开;您是想使用“!”吗?或者 '?' ?”

    我研究 iOS 或 Swift 的时间并不长 通过最新的 Xcode 更新之一 我在计算机上制作的许多应用程序现在似乎都在使用过时的语法 Xcode 告诉我们将其转换为新语法 但通常这并不能解决任何问题 而且我遇到了一个新问题 这是我在语法
  • CloudKit推送通知,应用程序在后台运行

    iOS8 2 app在后台运行时 不会收到任何推送通知 而如果它在前台运行 它可以很好地接收推送通知 知道发生了什么事吗 运行于CloudKit Development模式 订阅用于添加 编辑和删除 并使用以下内容didReceiveRem
  • DynamoDB ProjectionExpression 排除属性(除一个字段外的所有字段)

    我有一个要求 我的 dynamodb 表具有许多属性 并且我需要投影表达式中的所有属性 除了我不需要响应的一两列 我正在扫描桌子 有没有一种方法可以在 ProjectionExpression 中定义它 除了这一列 我见过一些示例 其中 P
  • 左外连接不返回主表中的所有记录

    当我执行左外连接时 我希望在添加连接表之前获取查询将返回的所有记录 但它仅返回与连接表匹配的记录 即 表中不存在 092387 的记录 文档 所以我只想为该记录的 文件名 字段返回 null 我做错了什么 mysql gt select d
  • Java Signature.verify 导致 SignatureException:签名编码错误 由 IOException 引起:序列标记错误

    首先 这不是一个重复的问题 因为大多数人在从缺少 BEGIN RSA CERTIFICATE 行的证书创建公钥时报告此异常 我想做的要点是 1 使用 SHA1withRSA 算法 RSA 密钥为 1024 位 在 JCOP 智能卡上签署 5
  • 使用 JavaScript 设置 HTML 页面垂直位置

    我有一个可以上下滚动的 HTML 页面 不是很多 但确实可以滚动 执行一些 JavaScript 后如何设置页面中的滚动位置 我正在使用 jQuery 在页面底部注入一些额外的 HTML 并且我想在添加新内容后以编程方式滚动到新内容的位置
  • 在 ASP.NET Core 上实现“Fire and Forget”方法的安全方法

    我正在尝试实现一个简单的日志记录库 该库将在多个项目中使用 库的工作是将 HTTP 请求发送到 ElasticSearch 这个库的要点是它不能等待响应 另外 我不关心任何错误 异常 它必须将请求发送到 ElasticSearch 并立即返
  • 我可以使用 CSS 在同一个元素上设置两个背景图像吗?

    HTML 代码示例 table tr td class a b CSS 文件示例 a background image url a png b background image url b png 似乎 b 部分被忽略了 有没有办法将两个图
  • 使用共享包中的 GWT NumberFormat 类

    在我的 GWT 项目中 我的服务返回一个类型的对象Shield我已经定义了 作为Shield客户端和服务器都使用类型 我已将类定义放在共享包中 The Shield类使用com google gwt i18n client NumberFo