复合组件会导致警告“没有”头部'组件已在视图中定义"

时间:2016-06-28 14:12:31

标签: jsf warnings composite-component html-head

我有一个正常工作的JSF页面,但是如果我向其添加xmlns:leaf="http://java.sun.com/jsf/composite/jsf2leaf",并尝试使用任何标签,例如<leaf:map center="42.120000,-72.540000" />,我会收到以下警告:

  

一个或多个资源的目标是&#39; head&#39;但是没有&#39; head&#39;组件已在视图中定义。

一切正常,地图就在那里,我可以添加标记,但我无法摆脱警告信息。

我的JSF页面如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:p="http://primefaces.org/ui" xml:lang="hu" lang="hu"
    xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
    xmlns:leaf="http://java.sun.com/jsf/composite/jsf2leaf"
>
<f:view contentType="text/html">
    <f:metadata>
        <f:viewAction action="#{dashboardController.readURLParam()}"/>
    </f:metadata>
<h:head/>
<h:body>
    ...
    <h:form>
        ...
        <p:panel>
            ...
            <c:forEach>
                ...
                <p:panel>
                    <leaf:map center="42.120000,-72.540000" />
                </p:panel>
            </c:forEach>
        </p:panel>
    </h:form>
</h:body>
</f:view>

1 个答案:

答案 0 :(得分:0)

发现问题,在jsf2leaf.jar中,map.xhtml和advancedmap.xhtml使用<head></head>代替<h:head></h:head>,更改了它,重新打包了jar文件,并且工作正常