通过ajax重新加载JavaScript函数/重新读取JSFbean值
我有一个JavaScript函数,它使用来自支持bean的值,比如通过ajax重新加载JavaScript函数/重新读取JSFbean值,javascript,ajax,jsf,Javascript,Ajax,Jsf,我有一个JavaScript函数,它使用来自支持bean的值,比如varx=#{bean.value} 在页面加载时,x的值是最终值,直到重新加载页面为止(因为EL被其实际值字符串替换) 但是,bean的值可能会因ajax请求而改变。 如何实现x的更新 下面是我的xml(使用primefaces的日历组件)的摘录,以澄清: <p:calendar beforeShowDay="highlightDays" ... /> <script> function high
varx=#{bean.value}
在页面加载时,x
的值是最终值,直到重新加载页面为止(因为EL被其实际值字符串替换)
但是,bean的值可能会因ajax请求而改变。
如何实现x
的更新
下面是我的xml(使用primefaces的日历组件)的摘录,以澄清:
<p:calendar beforeShowDay="highlightDays" ... />
<script>
function highlightDays(){
var highlightedDays= #{bean.specialDays()};
// set css...
}
</script>
函数highlightDays(){
var highlightedDays=#{bean.specialDays()};
//设置css。。。
}
您可以使用RequestContext从bean执行这样的更新:
RequestContext.getCurrentInstance().execute("highlightedDays = " + specialDays());
javascript变量应该在窗口范围内,这意味着您应该在函数范围外定义变量
highlightedDays= #{bean.specialDays()};
function highlightDays(){
//make use of the var
}