2016-10-27 5 views
0

の内側に、私はCを使用するカスタム・コンポーネントを持っている場合C:使用するAJAXを決定する場合:入力コンポーネントとデータテーブル

<composite:interface> 
    <composite:attribute name="value" required="true" /> 
    <composite:attribute name="renderOnChange" type="java.lang.String"/> 
</composite:interface> 

<composite:implementation> 
    <h:inputText value="#{cc.attrs.value}"> 
     <c:if test="#{not empty cc.attrs.renderOnChange}"> 
      <a4j:ajax event="change" render="#{cc.attrs.renderOnChange}" /> 
     </c:if> 
     <c:if test="#{empty cc.attrs.renderOnChange}"> 
      <a4j:ajax event="change" render="#{somethingDifferent}" /> 
     </c:if> 
    </h:inputText> 
</composite:implementation> 

私は、データテーブルでコンポーネントを使用しようとすると問題が起こりますc:ifが機能しないためです。属性に応じてa4j:ajaxを表示するために使用できるJSFに相当するものはありますか?私はui:fragment、およびこれを達成しようとする他のいくつかのUiタグを試しましたが、入力コンポーネント内では動作しません。

f:バリデータを表示するのと同じ方法を使いたいと思います。

+0

'a4j'タグで' disable =#{yourcondition} 'はどうですか? – stg

+0

私はこれを試しましたが、それは最初のa4j:ajaxのためだけに働いているようです。その後のa4j:ajaxタグでは、動作しません。 – clarinet

答えて

0

可能な方法は、2つの<h:inputText>コンポーネントを作成し、rendered属性を使用して、そこに<c:if>タグから条件を配置することです。

+0

Seraphstryfeありがとうございました。私は、cと似たタグがあることを期待していました。サブエレメントを作成するためにinputText内で使用できれば、コードを繰り返す必要はありませんが、そうではないようですどれか。ご協力いただきありがとうございます。 – clarinet

関連する問題