Как получить clientId для фишки, включенного в ui: include?Извлечь идентификатор клиента для фишек
Для многоразового компонента я использую этот синтаксис: cc.clientId
.
EDIT1
Вопрос в контексте Determine absolute id. Для включения динамических редакторов я использую custom include.
Исходный код DynamicInclude, DynamicIncludeComponent и DynamicIncludeHandler можно найти по адресу: http://pastebin.com/5e2dgR15. Мне пришлось удалить строки, которые протестировали src для null в методе DynamicInclude в getSrc
и изменили значение getFamily
, чтобы вернуть ненулевое значение. Это единственная реализация динамических включений, которые я мог бы найти и использовать в моем случае. На данный момент у меня нет знаний, чтобы сделать лучшее. Наличие динамического включения имеет решающее значение для моего проекта, потому что оно используется во многих местах (@BalusC: мне было бы приятно видеть, что такой компонент добавляется в OmniFaces, если это возможно).
Мои проблемы с абсолютным идентификатором клиента связаны с тем, как генерируется идентификатор для <custom:include>
. В моем случае tabs:0:editorsGroup:4:editor3
. Я видел, что именованные контейнеры, такие как <p:dataTable>
или <p:tabView>
, добавьте номер в идентификатор (вкладки: 0, редакторыГруппа: 4). Я не уверен, что этот обычай включает 100% NamingContainer. DynamicIncludeComponent реализует NamingContainer, но я не могу использовать абсолютный идентификатор клиента как :tabs:editorsGroup:editor
.
Редактор organizationUnit
от Determine absolute id, Я использовал обходной путь в обновлении для absolute_id_of_organization_unit
. С #{eval.getAbsoluteId(cc.clientId, 'organizationUnit')
был вычислен абсолютный идентификатор клиента после удаления некоторых частей cc.clientId.
Я попытался сделать обновление с помощью <p:remoteCommand>
, но это не сработало. Поэтому я подумал, что могу сделать аналогичное обходное решение, как для редактора organizationUnit
. Для этого мне пришлось получить родительский id, первый параметр для метода getAbsoluteId.
Это причины моей странной просьбы.
У меня есть вопрос с конкретными функциональными требованиями. – Seitaridis
Помимо конкретного вопроса, для которого мне нужно сначала окутать голову, работает ли этот компонент в MyFaces? – BalusC
Я могу передать необходимый id в пользовательский код с помощью '', например: ' ', но у меня есть проблемы с использованием этого значения в атрибуте обновления. Ошибка: SEVERE: javax.faces.FacesException: не удается найти компонент с идентификатором ": form: tabs: 1: editorsGroup: 1: editor2: роли, на которые ссылаются «form: tabs: 1: editorsGroup: 1: editor2: databases: 0: j_id1533934859_460afa94». –
Seitaridis