我的XPage上有一个inputTextArea控件,需要在Process Validations阶段添加一个Java Converter来运行代码。我最初使用的是Validator,但如果值为空,则Validator不会运行,因此我需要使用Converter。
但是,我需要在getAsString和getAsObject方法中重现标准行为。
基础字段值可以是多值字段,在这种情况下,传递给Converter的value参数已经更改为以逗号分隔的字符串。但它也可能是一个恰好包含逗号的单个文本字符串。所以我不能只做一个替换,我不能只是输出值。我需要处理正常转换器的内容。
有什么想法吗?
答案 0 :(得分:1)
我不太确定这是不是一个解决方案。我猜想XspInputTextarea类有一个默认的转换器。使用父父类[...]类javax.faces.component.UIOutput中的方法getConverter,你应该得到这个类。
使用类名,您应该能够从该类派生。
但这只是一个想法。
答案 1 :(得分:0)
如果我正确地解决了问题,那就是您可能有不同的输入字段,有时是多值的,有时候不在您的表单上。在这种情况下,我的初衷是将值写入作用域并使用该值来确定输入字段的内容和值。可以在转换器中检查该变量,以确定您的字段的实际内容。
示例:
viewScope.put("convMulti_Field1", "false");
在转换器中,允许您检查该值,并将Field1解释为单值字符串。
希望这很清楚!