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指定另一个属性?
答案 0 :(得分: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
等等。