p:当目标输入在复合内部时,outputLabel未标记为必需

时间:2016-07-27 08:56:38

标签: jsf primefaces label composite-component

以一种非常简单的方式,这是一个复合词:

<ui:component 
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:cc="http://xmlns.jcp.org/jsf/composite"
    xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
    xmlns:fn="http://xmlns.jcp.org/jsp/jstl/functions"
    xmlns:p="http://primefaces.org/ui"
>
    <cc:interface>
        <cc:attribute name="value" />
        <cc:attribute name="required" />
        <cc:editableValueHolder name="calendar" />
    </cc:interface>

    <cc:implementation>
        <p:calendar id="calendar" value="#{cc.attrs.value}" required="#{cc.attrs.required}" showOn="button"/>  
    </cc:implementation>
</ui:component>

我在这里使用它:

<p:outputLabel for="rat:calendar" value="Hello" />
<my:calendar id="rat" required="true"/>

应显示required = true图标但不显示。在OutputLabelRenderer看起来很好,除了第118行,input.isRequired()在我明确设置为true时返回false。我不认为它与Primefaces有关,但看起来像JSF问题(我正在使用Mojarra 2.2.13并在Myfaces 2.2.4上重现)

1 个答案:

答案 0 :(得分:0)