После обновления с 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™ 23.25-b01Runtime
: Среда выполнения Java(TM) SE 1.7.0_25-b16Java EE
: Веб-сайт Java EE 7JSF implementation
: Мохарра 2.2.0Glassfish
: 4.0 сборка 89
<f:metadata>
в свой собственный<ui:define>
, который заканчивается в<ui:insert>
как непосредственный дочерний элемент<f:view>
, в точности как рекомендовано в документации по тегам? docs.oracle.com/javaee/7/ javaserverfaces/2.2/vdldocs/facelets/f/ Mojarra более снисходительна в этом отношении, но известно, что MyFaces терпит неудачу, если не выполняется в соответствии с рекомендацией. - person BalusC   schedule 26.06.2013ui:define
для метаданных. Хотя разницы никакой :/ - person nivis   schedule 03.07.2013ClassLoader.getSystemClassLoader
, а затемgetURLs()
. При печати отображаются толькоglassfish.jar
иflashlight-agent.jar
, поэтому я не знаю, как это проверить. Можете ли вы указать мне правильное направление, чтобы найти полный путь к классам? - person nivis   schedule 04.07.2013PROJECT_STAGE
в производство, сообщение об ошибке исчезло. Проблема в том, что я действительно не хочу, чтобы во время разработки было установлено значение DEV. Версия 2.2.1 все еще находится в стадии разработки, верно? Пытался найти где скачать, но безуспешно. - person nivis   schedule 04.07.2013