我在一个使用 Spring Webflow 和 Spring JS 的项目上工作。
我读到on-render
了 SWF 中使用的方法,用于在每次显示页面时执行方法,并且on-entry
仅在第一次显示时才执行。
所以我声明了一个视图状态,一个在第一次显示网页时评估的表达式和一个转换:
<view-state id="whatever" model="myModel" view="myView">
<on-entry>
<evaluate expression="controller.methodToCallOnEntry()" />
</on-entry>
<transition on="myTransition" to="whatever">
<evaluate expression="controller.methodToCallAjax()"/>
<render fragments="myFragment" />
</transition>
</view-state>
在网页中,有一个 javascript 函数发送 Ajax 请求以加载一些数据。声明如下:
var params={};
params["fragments"] ="myFragment";
params["_eventId"] = "myTransition";
Spring.remoting.submitForm("","formid", params);
我的问题是在每个 Ajax 请求之后呈现methodToCallOnEntry()
片段时执行该方法。myFragment
我希望它仅在页面第一次显示时执行,在我的视图状态的入口处。你有任何关于它的信息吗?