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