onListItemClick не работает с моим ListView

Вы можете использовать EL в атрибуте id для компонента JSF, но переменная EL должна быть доступна во время сборки времени, тогда как дерево компонентов JSF должно быть создано. Тем не менее, работает во время отображения времени визуализации, тогда как вывод HTML должен быть создан на основе дерева компонентов JSF. недоступен во время времени сборки, а #{class2.name} - null, что полностью объясняет полученную вами ошибку. То, что оно работает в , связано с тем, что оно выполняется во время визуализации рендеринга.

Если вы замените на , который выполняется во время времени сборки, тогда он будет работать так, как вы намерены. будет генерировать физически несколько компонентов в дереве компонентов JSF, каждый из которых генерирует индивидуально свой собственный вывод HTML (в отличие от , где один и тот же компонент повторно используется несколько раз для генерации HTML output).


   
    
  

Однако я действительно удивляюсь, зачем вам это нужно. Обычно нет необходимости динамически назначать идентификаторы компонентов. JSF уже обеспечит уникальность идентификатора. В приведенном ниже примере


   
    
  

будет отображаться в нескольких формах с каждым уникальным идентификатором, заполненным индексом итерации . Если вам действительно нужно использовать #{class2.name} для некоторых целей JavaScript / jQuery (вы нигде не указали конкретное функциональное требование в вопросе, для которого вы думали, что это будет правильное решение, так что это просто догадки), а затем просто оберните его простой HTML-элемент ванили:


  

Или задайте его как класс стилей компонента JSF, который также можно выбрать с помощью селектора CSS:


  
    
  

См. также:

0
задан user3884522 24 February 2015 в 21:38
поделиться