不允许整数作为属性id的值

时间:2017-08-24 11:46:04

标签: jsp primefaces xhtml

我有一个名为Test的java类,它有一个属性Integer id(自动增量)。它以值1初始化。

在我的xhtml文件中,我想给出我创建的每一列,来自java bean类的id。

在另一个名为AnotherClass的类(java bean类)中,带有注释:

@ManagedBean(name = "myClass")
@ApplicationScoped

我在这堂课上有一份测试清单。

这是我尝试做的,但它不会将整数识别为id属性的值。在文档中,它说只允许字符串。我该怎么办?

<c:forEach items="#{myclass.list}" var="test">
    <p:column id="#{test.id}" headerText="#{test.header}">
</c:forEach>

1 个答案:

答案 0 :(得分:0)

您可以实现一个名为String getIdAsString()的方法,然后使用它而不是id getter:

<c:forEach items="#{myclass.list}" var="test">
    <p:column id="#{test.idAsString}" headerText="#{test.header}">
</c:forEach>

getIdAsString()方法应该从字母[a-z|A-Z]给出一些前缀,因为不允许html id以数字开头。所以实施可能是:

public String getIdAsString() {
  return "id"+id.toString();
}