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() 仅在页面加载时评估,并且相同的值用于页面刷新。有没有其他方法可以在页面刷新事件上获取更新的 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 回答