2015-07-31 2 views
1

Mojarra 2.1.29Можно ли использовать EL в ui: repeat?

Я прочитал, что, как правило, нет необходимости использовать EL для создания id динамически атрибута по. Я также знаю, что id-атрибут разрешен на этапе view-building. Но в наших проектах нам нужно написать несколько тестов Selenium, которые используются для использования некоторого html-атрибута в сгенерированной разметке. Итак, я решил динамически указать атрибут id. Как я могу сделать это для следующих <ui:repeat>:

@ManagedBean 
@SessionScoped 
public class Bean{ 

    private List<Integer> values; 
    //GET, SET 
    public Bean(){ 
     values = Arrays.asList(1,2,5,7,8,9); 
    } 
} 
<ui:repeat value="#{bean.values}" var="value"> 
    <h:outputText id="#{value}" /> <!-- not legal, resolved to null --> 
</ui:repeat> 

Может быть, я должен указать другой атрибут Fo Селен вместо этого?

+1

У вас есть атрибут name, сгенерированный? если это так, вы можете использовать атрибут name вместо id – aurelius

+0

, также можете попробовать id = "value # {value}", может быть незаконным иметь цифру в качестве идентификатора – aurelius

+0

@aurelius Не работает – user3663882

ответ

2

Если вы предоставили фиксированный id, как указано ниже.

<ui:repeat value="#{bean.values}" var="value"> 
    <h:outputText id="elementId" /> 
</ui:repeat> 

Элемент вам нужно будет иметь id сек, сгенерированные, как,

parentId:0:elementId 
parentId:1:elementId 
parentId:2:elementId 

и так далее.

Смежные вопросы