1

以下代码不添加jquery-plugins.js

<p:lightBox styleClass="imagebox">
    <h:outputLink value="../resources/images/car.png">
        <h:graphicImage value="/resources/images/car.png" />                    
    </h:outputLink>
</p:lightBox>

此代码确实添加了 jquery-plugins.js

<p:lightBox styleClass="imagebox">
    <h:outputLink id="tip" value="../resources/images/car.png">
        <h:graphicImage value="/resources/images/car.png" />                    
    </h:outputLink>
</p:lightBox>
<p:tooltip for="tip"></p:tooltip>

此工具提示只是为了测试目的而添加的,在生产中不需要。但是,似乎删除它也会破坏我的p:lightBox(因为jquery-plugins.js)将不再包含在内。

我正在使用模板 ( ui:insert, ui:define),模板确实使用h:headand h:body。有谁知道如何解决这个问题(那么如何自动包含jquery -plugins.jsp:lightBox)?

请注意,我已经尝试了多个版本的 Primefaces 出现这种情况。

4

1 回答 1

1

有谁知道如何解决这个问题(那么如何仅使用 p:lightBox 自动包含 jquery-plugins.js)?

LightBox这是他们组件中的一个错误。jquery-plugins.js缺少对资源的依赖。查看源代码

@ResourceDependencies({
    @ResourceDependency(library="primefaces", name="primefaces.css"),
    @ResourceDependency(library="primefaces", name="jquery/jquery.js"),
    @ResourceDependency(library="primefaces", name="primefaces.js")
})
public class LightBox extends UIComponentBase implements org.primefaces.component.api.Widget {

他们必须通过添加所需的@ResourceDependency. 向 PrimeFaces报告问题。

同时,您可以通过将其明确包含在主模板中来解决它。

<h:outputScript library="primefaces" name="jquery/jquery.js" />
<h:outputScript library="primefaces" name="jquery/jquery-plugins.js" />
于 2013-07-04T14:34:12.700 回答