2017-09-14 7 views
0

パーシャルリフレッシュ対象IDのIDを計算したいと思います。これは可能ですか?パーシャルリフレッシュIDを計算しますか?

私は再利用可能なコンポーネント(カスタムコントロール)を使用しており、ターゲットIDをハードコードするのではなくプロパティ定義で指定したいと考えています。

答えて

1

このような意味ですか?

CustomControlのコード

<?xml version="1.0" encoding="UTF-8"?> 
<xp:view xmlns:xp="http://www.ibm.com/xsp/core"> 

    <xp:button value="Label" id="button1"> 
     <xp:eventHandler event="onclick" submit="true" 
      refreshMode="partial" refreshId="#{compositeData.refreshId}"> 
     </xp:eventHandler> 
    </xp:button> 

</xp:view> 

のXPageのコード

<?xml version="1.0" encoding="UTF-8"?> 
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" 
    xmlns:xc="http://www.ibm.com/xsp/custom"> 

    <xp:label 
     value="#{javascript:java.lang.System.currentTimeMillis()}" 
     id="label1" /> 

    <xc:CC refreshId="#{label1}" /> 

</xp:view> 

CCのカスタムプロパティがrefreshId

+0

という名前の文字列が、それは 'すべきではないです '? –

+0

@FrantisekKossuth:* label1 *を使うとうまくいかないと思います。クライアントIDが計算されないためです。当然のことながら、私は通常は*#{id:label1} *を使用しますが、クライアントIDが自動的に導出されるStringにコンポーネントをバインドすると思われます。 –

+0

本当に面白いです。コンポーネントのtoString実装がclientIDを返す場合に意味があります。奇妙に思える。私の意見では、clientIDは必要ありません - eventHandlerのプロパティrefreshIDにはサーバー側コンポーネントの名前が必要です。 –

関連する問題