0

インスタンスの値を current-dateTime() に設定しました。ページ更新イベントでこの値を更新したい。だから私は次のコードを持っています:

     <xf:action ev:event="page-refresh">   
          <xf:setvalue ref="instance('noCache')/val"><xsl:value-of select="current-dateTime()" /></xf:setvalue> 
          <!-- call to resource with new value-->
        </xf:action>

上記のコードは、インスタンス値 (dateTime) をページ読み込み時と同じ値に設定します。

後で、このインスタンス値を使用してリソースへの GET 要求呼び出しを行い、この更新されたインスタンス値をパラメーターとして渡します。

注: current-dateTime() を使用してパラメーターをリソースに渡し、キャッシュされたリソースを使用しないようにします (乱数を生成する方法が見つからなかったため)

私が感じる問題は、xsl 変数 current-dateTime() がページの読み込み時にのみ評価され、同じ値がページの更新に使用されることです。page-refresh イベントで更新された dateTime を取得できる他の方法はありますか?

4

1 に答える 1

0

XSLTForms を使用すると、クライアント側の XPath 式で Javascript 関数を次のように呼び出すことができます。

 <xf:setvalue ref="instance('noCache')/val" value="getXMLDate()" ></xf:setvalue> 

そしてgetXMLDate()、HTML に関数を記述します。

<script>
function gwtXMLDate(){
  var d = new Date();
  return d.toISOString();
}
</script>
于 2016-02-26T11:50:49.570 に答える