Дубликаты идентификаторов Facelets - PullRequest
2 голосов
/ 31 мая 2010

Я создаю компонент facelet, который я собирался многократно включать в одну страницу.

Мне нужно определить один тег a4j: outputPanel внутри моего компонента и присвоить ему идентификатор, чтобы можно было повторно отобразить эту outputPanel через ajax. Но Facelets, похоже, не справляются с этой ситуацией, так как выбрасывается «duplicateId Exception». Я частично понимаю, почему это происходит. Я включил несколько компонентов на одной странице, но каждый компонент содержит outputPanel с таким же жестко закодированным идентификатором.

  1. Не может ли идентификатор быть жестко закодирован?
  2. Существует ли какой-либо тег facelets, который создает границу, в которой вам не нужно заботиться о конфликтах между идентификаторами объектов внутри этой границы и идентификаторами объектов за пределами границы?

Ответы [ 2 ]

1 голос
/ 09 февраля 2011

Создание подпредставления на самом деле приводит к проблеме с частичными триггерами..... код компонента

0 голосов
/ 08 февраля 2011

Это способ избежать жестко закодированных идентификаторов путем передачи идентификатора в компонент, например:

ac: testComponent id = "someId"

В компоненте facelet:

h: outputText id = "# {id} _outputText"

Проблема в том, что Тринидад не поддерживает этот язык EL для атрибутаpartalTriggers. Если кто-нибудь знает, как это сделать, опубликуйте на этом сайте объяснение.

...