我有一个JavaScript函数,它使用来自辅助bean的值,如var x = #{bean.value}
。
在页面加载时,x
的值是最终的,直到重新加载页面为止(因为EL正在被其实际值字符串替换)。
但是,由于ajax请求,bean value
可能会发生变化。
如何才能实现x
更新?
这里是我的xml摘录(使用primefaces'日历组件)来澄清:
<p:calendar beforeShowDay="highlightDays" ... />
<script>
function highlightDays(){
var highlightedDays= #{bean.specialDays()};
// set css...
}
</script>
答案 0 :(得分:1)
您可以使用RequestContext从bean执行此类更新:
RequestContext.getCurrentInstance().execute("highlightedDays = " + specialDays());
javascript变量应该在窗口范围内,这意味着你应该在函数范围之外定义var。
highlightedDays= #{bean.specialDays()};
function highlightDays(){
//make use of the var
}