从 JSF 2.1 更新到 2.2 后,我开始收到以下错误消息:
The metadata component needs to be nested within a f:metadata tag. Suggestion: enclose the necessary components within <f:metadata>
这有点奇怪,因为代码看起来像这样:
....
<ui:composition template="./resources/templates/template_base.xhtml">
<ui:define name="contentBody">
<h:outputStylesheet library="css/table" name="tableContent.css" />
<h:outputScript library="javascript" name="pagination.js" target="head" />
<p:growl id="messages" autoUpdate="true" />
<f:metadata>
<f:viewParam name="topicId" value="#{topicBean.topic.id}" />
<f:event type="preRenderView" listener="#{topicBean.init(true)}" />
</f:metadata>
</ui:define>
</ui:composition>
....
如果错误消息所指的元数据组件是f:viewParam
或f:event
,那么我确实将它/它们包含在f:metadata
.
关于我做错了什么的任何想法?javax.faces.PROJECT_STAGE
如果我设置为,该错误不会显示Production
,但我想保留它Development
直到我完成。
Edit1 - 版本:
Netbeans
:7.3.1(内部版本 201306052037)Java
:1.7.0_25;Java HotSpot(TM) 客户端虚拟机 23.25-b01Runtime
: Java(TM) SE 运行时环境 1.7.0_25-b16Java EE
:Java EE 7 网络JSF implementation
: 莫哈拉 2.2.0Glassfish
: 4.0 构建 89