2

我的 XPage 上有一个 inputTextArea 控件,需要添加一个 Java 转换器以在流程验证阶段运行代码。我最初使用的是Validator,但是如果值为空,Validator 不会运行,因此我需要使用Converter。

但是,我需要在 getAsString 和 getAsObject 方法中重现标准行为。

基础字段值可以是多值字段,在这种情况下,传递给 Converter 的 value 参数已经更改为逗号分隔的字符串。但它也可能是恰好包含逗号的单个文本字符串。所以我不能只做一个替换,也不能直接输出值。我需要像普通转换器那样处理内容。

有任何想法吗?

4

2 回答 2

1

我不太确定这是否可以解决。我猜想 XspInputTextarea 类有一个默认转换器。使用父 parent[...] 类 javax.faces.component.UIOutput 中的 getConverter 方法,您应该获得该类。

使用类名,您应该能够从该类派生。

但这只是一个想法。

于 2013-06-20T15:39:05.033 回答
0

如果我正确地解决了这个问题,那是您可能有不同的输入字段,这些字段有时是多值的,有时不在您的表单上。在这种情况下,我最初的直觉是将值写入范围并使用该值来确定输入字段的内容和值。可以在转换器中检查该变量以确定字段的实际内容。

例子:

viewScope.put("convMulti_Field1", "false");

在您的转换器中,允许您检查该值,并将 Field1 解释为单值字符串。

希望这很清楚!

于 2013-06-20T16:05:26.760 回答