ui:repeat 中可以使用 EL 吗?
Is it possible to use EL in ui:repeat?
Mojarra 2.1.29
我读到通常没有必要使用 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>
也许我应该为 Selenium 指定另一个属性?
如果您提供如下固定 id
。
<ui:repeat value="#{bean.values}" var="value">
<h:outputText id="elementId" />
</ui:repeat>
您需要的元素将生成 id
s,
parentId:0:elementId
parentId:1:elementId
parentId:2:elementId
等等。
Mojarra 2.1.29
我读到通常没有必要使用 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>
也许我应该为 Selenium 指定另一个属性?
如果您提供如下固定 id
。
<ui:repeat value="#{bean.values}" var="value">
<h:outputText id="elementId" />
</ui:repeat>
您需要的元素将生成 id
s,
parentId:0:elementId
parentId:1:elementId
parentId:2:elementId
等等。