Jsf h:panelGrid的角色属性

Jsf h:panelGrid的角色属性,jsf,Jsf,我正在使用官方Java EE教程中的示例,其中包含以下内容: <h:panelGrid columns="2" headerClass="list-header" styleClass="list-background" rowClasses="list-row-even, list-row-odd" summary="#{bundle.CustomerInfo}" title="#{bundle.Checkout}" role="prese

我正在使用官方Java EE教程中的示例,其中包含以下内容:

<h:panelGrid columns="2"
    headerClass="list-header"
    styleClass="list-background"
    rowClasses="list-row-even, list-row-odd"
    summary="#{bundle.CustomerInfo}"
    title="#{bundle.Checkout}"
    role="presentation">


但编译器说并没有为
h:panelGrid
组件定义属性角色。如何解决这个问题?

这个属性是在JSF2.2中引入的。作为证据,
角色
属性在中提到,但在中没有提到

您的问题历史记录确认您正在GlassFish 4.0上使用JSF 2.2,因此此编译器警告实际上是错误的。这不是一个JSF问题,而是一个IDE问题。IDE不知何故认为您使用的不是JSF2.2,而是JSF2.1或更早版本。也就是说,你的工具集对你不利。你没有提到你正在使用哪个IDE,所以不可能给出正确的答案

如果项目运行良好,JSF页面生成了正确的HTML输出(即,
角色
属性实际上在生成的HTML
元素中结束,您可以通过右键单击在webbrowser中查看源代码看到),那么一切都很好,只是IDE假装比实际更聪明

我开始查看IDE项目的属性,检查JSF版本是否正确。项目属性中的JSF方面必须设置为2.2版,而不是更低版本。必须声明
faces config.xml
符合JSF 2.2,而不是更低版本