current-dateTime()值未在页面刷新事件上更新

时间:2016-02-25 05:18:09

标签: xslt xslt-2.0 xforms ajax-forms

我将实例的值设置为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?

1 个答案:

答案 0 :(得分:0)

使用XSLTForms,您可以在客户端上的XPath表达式上调用Javascript函数,这样:

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

并在HTML中编写getXMLDate()函数:

<script>
function gwtXMLDate(){
  var d = new Date();
  return d.toISOString();
}
</script>