问题标签 [messageformat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
16768 浏览

java - 转义 Java MessageFormat 的单引号

一般来说,关于 MessagingFormat 已经有几个问题,但我还没有找到任何可以回答我的问题的东西。我知道,单引号会破坏这种模式。如果您使用 MessageFormat 或 Log4j,则“不”之类的内容可能会破坏可能的占位符。

请参阅在字符串中,一对单引号可用于引用除单引号之外的任意字符。例如,模式字符串“'{0}'”表示字符串“{0}”,而不是 FormatElement。单引号本身必须在 String 中用双引号 '' 表示

简单的例子:

输出:

因此,如果我使用正则表达式替换所有单引号,它将起作用。我刚刚编写了正则表达式,试图只使用正则表达式lookahead/lookbehind替换“单引号”。

正则表达式替换示例:

我只是想知道,是否存在任何 apache-commons 实用程序(或任何其他库),它将为我处理“escapeSingleQuotes”而不是提供我自己的正则表达式......?

0 投票
2 回答
2263 浏览

java - 检查字符串是否与 Java 中的特定 MessageFormat 匹配?

我有一个像这样的 MessageFormat;

我只是想知道我是否有一些像这样的字符串;

如何检查上述字符串是否是使用 messageFormat 创建的?即他们匹配messageFormat?

非常感谢!

0 投票
2 回答
1060 浏览

validation - 在 Struts 2 中使用 @RequiredStringValidator messageParams

在我的消息资源文件中,我有以下几行:

要验证电子邮件字段,我正在使用注释验证器,如下所示:

我的问题是:如何使用注释将labels.email资源值传递给消息的参数?我正在尝试财产,但没有任何成功。{0}RequiredStringValidatormessageParam

0 投票
0 回答
792 浏览

java - 带有可选参数的 Java MessageFormat 资源?

消息格式是否可以有一个可选参数?我有一个事件类型和编码为字符串的参数的历史代码。这由其他代码加载并根据类型名称(即 eventtype..format)进行资源查找,然后传递存储的参数。

其中一种事件类型是“由于用户定义的规则匹配而执行的操作”。以前,我没有将规则名称作为参数之一包含在内,现在我想要,因此我希望能够使用相同的事件类型而无需重新定义它只是为了添加一个参数。

我的问题是,是否有可能做这样的事情

eventtype.matchedRule.format=Action performed because of user-defined rule {if{0},(Rule name:{0})}

因此,如果加载了“matchedRule”的事件类型并且没有定义参数,则解析为

"Action performed because of user-defined rule"

如果规则名称被定义为“我的规则”,它将被解析为

"Action performed because of user-defined rule (Rule name: My Rule)"

同样,如果没有参数,我当时真的无法控制传递不同的资源,所以我必须定义一个单独的事件类型,这类似于matchedRuleWithRuleName存储的新事件,然后离开那些已经与matchedRule.

帮助?

0 投票
1 回答
509 浏览

jsf-2 - 显示作为

<h:outputFormat>用来格式化消息。

我想显示一个<h:inputText>代替参数{0}和一个<h:selectOneMenu>从 1-50 的数字列表代替参数{1}

是否可以使用<f:param>,或者有替代方法吗?

0 投票
2 回答
1138 浏览

java - Java MessageFormat - 发出转义字符

我在我的 strings.xml 文件中定义了一个字符串:

然后我获取该字符串并使用 MessageFormat.format,将 {0} 替换为 URL:

当我打印 str 时,我看到:

MessageFormat 文档指出引号的规则有些混乱,然后继续提供仅使用双引号的单个示例。从我对文档的阅读来看,我的单引号问题似乎可以通过使用'''来解决:

但是 Android 资源打包步骤会引发错误,因为我有一个撇号,前面没有\.

我唯一的要求是在 strings.xml 中定义字符串(以支持本地化)。

0 投票
2 回答
1571 浏览

java - 在 Struts 中,如何从 ResourceBundle 中选择 ActionMessage 中的“消息的替换值”

我做了什么来实现它。

行动文件:

申请资源:

我想要的是:

有一条捷径可以用硬编码词“成员”替换“消息的替换值”。喜欢

以上三个是用各自的语言措辞替换“消息的替换值”的漫长路线。

寻找像我硬编码一样的短途路线。

0 投票
2 回答
4175 浏览

java - 二进制数据到 XQuery 中的文本/字符串

当xml通过MFL(Message Format Language)从xml转换为二进制时,在Oracle Service Bus的日志中出现如下。

任何人都可以告诉我如何在 Xquery 或 OSB 中以文本/字符串打印此日志。我可以使用 xquery 的任何功能或方法吗?

0 投票
2 回答
2456 浏览

java - MessageFormat中的嵌套选择子句?

我正在尝试用 java.text.MessageFormat 做一个简单的逻辑:

带字:如果第一个参数大于1,打印“hello”,如果大于5,第二个参数大于1,打印“more than one”,如果第二个参数大于4,打印“more than 4” ”。

我发现没有人说这是不可能的,但我得到了一个 IllegalArgumentException:

Choice Pattern incorrect: 1<hello|5<{1,choice,1<more than one|4<more than four}

有没有办法我可以做到这一点?谢谢!

整个堆栈跟踪:

0 投票
1 回答
4608 浏览

java - 属性文件中的消息格式选择

我看过这个链接,看不出我做错了什么。我正在使用 MessageFormat 从文件中获取属性,并希望根据传入的整数是 1 还是更高来使属性动态化。文件中的属性如下所示:

在代码中,我读入了这个属性,然后将一个参数数组传递给MessageFormat.format()(我传递了一个数组以保证所有属性的一致性。在这种情况下,唯一存在的对象是整数值的字符串表示形式)同时调试代码,我可以看到这个字符串被读取,但MessageFormat.format()似乎没有按预期格式化字符串。结果如下所示:

谁能告诉我我做错了什么?如前所述,我传递了整数值的字符串表示形式,但我假设上面的代码能够处理它。我的理解有误吗?