我正在使用来自官方Java教程的实例,其中包含以下内容:
<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组件定义的。怎么解决这个问题?
发布于 2013-11-20 20:15:58
JSF2.2引入了该属性。作为证据,role属性在 documentation中提到,而在 documentation中没有提到。
您的问题历史证实您在GlassFish 4.0上使用JSF2.2,所以这个编译器警告实际上是错误的。这并不完全是JSF问题,而是IDE问题。IDE在某种程度上认为您不是在使用JSF2.2,而是使用JSF2.1或更高版本。也就是说,你的工具集对你不利。您没有提到您正在使用的IDE,所以不可能发布正确的答案。
如果项目运行良好,JSF页面生成正确的HTML输出(即role属性实际上以生成的HTML <table>元素结束,您可以通过右键单击查看webbrowser中的源代码),那么一切都很好,只是IDE假装比实际更聪明。
我会开始查看IDE项目的属性,以检查JSF版本是否正常。项目属性中的JSF面必须设置为2.2版本,而不是更低的版本。必须声明faces-config.xml符合JSF2.2,而不是更低。
https://stackoverflow.com/questions/20105473
复制相似问题