我尝试找到一种方法来从Javascript访问SWF特殊EL变量,例如flowScope和在custom-flow.xml中设置的自定义变量。但是我还没有找到解决方案。

我正在使用Sping Framework 3.0,Spring WebFlow 2.0,JSP / JSTL进行查看。

问题是“可能吗?”或“是否存在解决方法?”

谢谢

最佳答案

这是不可能的,因为这些变量仅在服务器上执行JSP时出现,因此当JavaScript在浏览器中运行时,它只能访问返回的html中的内容。

有一个解决方法,您可以做的是在jsp代码中迭代flowScope并将javascript写入html文档。对于flowScope中的每个对象,您输出一个javascript变量分配。这样,您将把数据嵌入到html服务器上的flowScope中。将其输出为json结构可能会有所帮助,其中全局javascript变量名为flowScope,并且是一个对象,该对象具有flowScope中所有内容的成员。

用伪的方式会像:

write var flowScope = {
foreach entry in ${flowScope}
    write ${entry.name} = '${entry.value}',
write }

10-08 00:22