我尝试找到一种方法来从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 }