0

Facelet コンポジション コントロール (= カスタム タグ) の作成に問題があります。

これがコンポーネントのテンプレート (numberinput.jspx) です。custom-taglib.xml で宣言しました。

これまでのところ、インクルージョンは次のコードを使用して機能します:

<ft:numberInput nullablenumber="true" cid="myId" 
                        bind="#{myBean.mySpecialComponent}"
                        value="#{myBean.license.myProperty }" 
                            label="My Label"/>

それがテンプレートです:

<div id="c_#{cid}"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:jsp="http://java.sun.com/JSP/Page"
    xmlns:ice="http://www.icesoft.com/icefaces/component"
    xmlns:ft="http://www.mycomp.com/facelets"
    xmlns:c="http://java.sun.com/jsp/jstl/core" style="overflow:auto" >
    <ui:composition>    
    <ice:message for="#{cid}"></ice:message>
    <ice:outputLabel for="#{cid}">#{label }</ice:outputLabel>

    <ice:inputText          
        id="#{cid}"
        value="#{value}"        
        style="#{style }"   
        required="false"
        disabled="#{disabled }"
        binding="#{ bind}"
        >       
        <f:validator validatorId="notnull"/>    
        <f:converter converterId="nullableNumber"/>

    </ice:inputText> 
    </ui:composition>


</div>

ページにこれらのタグが複数あると、問題が発生します。Facelets が混乱して、これらのセットのみを表示するようです。これは非常に奇妙です。

私のコードに何か問題がありますか、それとも Facelets は見た目と同じようにバグがありますか?

どうもありがとう。

私の現在の経験から、Facelets カスタムタグの使用を思いとどまらせることしかできません (少なくともコンポーネントバインディングが使用されている場合)。

環境情報: ICEFaces 1.8.2 と Tomcat 6 を使用しています

4

1 に答える 1

1

問題発見!問題の理由は、同じバックエンド Bean プローブにバインドされた 2 番目の ice:inputText コントロールがあったためです。これにより、JSF コンポーネント ツリーの生成に多くの問題が発生するようです。

私のせいですが、JSFが奇妙な振る舞いをするのではなく、ヒントやエラーメッセージを提供してくれるといいのですが...

于 2010-09-15T11:21:38.463 に答える