Я создаю xpages только для чтения, которые берут данные из базы данных Lotus.
Среди этих полей есть такие, которые содержат имена пользователей, работавших над документами, поля являются многозначными.
На моем xpage я вставил MultilineEditBox, чтобы все пользователи были правильно извлечены, я поставил в качестве MultipleSeparator: @NewLine(), чтобы они пошли в голову.
Однако пользователи отображаются так:
CN = Дональд Дак / O = Дакбург
Я бы хотел, чтобы появился только Дональд Дак.
Я обнаружил, что Canonicalize может работать для меня, но я не могу применить его, чтобы заставить его работать.
Canonicalize = формат, который у вас уже есть. То, что вы ищете, - это Общее имя (CN), поэтому
@Name("[CN]", <YourfieldValues>)
должно сработать. Я предполагаю, что вы хотите определить свой список значений с помощью псевдонимов, чтобы отображаемое значение было CN, но «настоящие» значения были в каноническом формате.
Поскольку это страница только для чтения, вы можете использовать элемент управления xp:repeat для циклического просмотра значений в поле и форматирования их по мере необходимости. Вот пример, который вы можете использовать:
<xp:repeat id = "repeatNames" rows = "999" value = "#{document.fieldWithNames}" indexVar = "index" var = "personName" removeRepeat = "true">
<xp:text value = "#{personName}" escape = "true" disableTheme = "true">
<xp:this.converter>
<xp:customConverter getAsObject = "#{javascript:return value}">
<xp:this.getAsString><![CDATA[#{javascript:return @Name("[CN]", value)}]]></xp:this.getAsString>
</xp:customConverter>
</xp:this.converter>
</xp:text>
</xp:repeat>