我定义了一个流程:
<flow-definition id="locking">
<view id="locking">
<vdl-document>/views/locking/locking.xhtml</vdl-document>
</view>
<view id="summary">
<vdl-document>/views/locking/locking-summary.xhtml</vdl-document>
</view>
<inbound-parameter>
<name>targetId</name>
<value>#{lockingBean.targetId}</value>
</inbound-parameter>
<flow-return id="exit">
<from-outcome>#{lockingBean.getExitNode()}</from-outcome>
</flow-return>
<initializer>#{lockingBean.initializeBean()}</initializer>
<finalizer>#{lockingBean.finalizeBean()}</finalizer>
</flow-definition>
如您所见,我有入站参数,需要在<initialize>
标签中传递的方法中进行适当的初始化。问题在于在初始化方法期间访问其值lockingBean.initializeBean()
。在其执行期间参数targetId
为空。它被正确传递,因为在视图中我将其值作为文本放置。这一切都意味着,传入的方法<initialize>
被执行,然后入站参数被传递到一个bean中。在我看来,这个顺序是不正确的。
是否可以更改此订单,或者是否有干净的方法?
此时我没有在初始化方法中做任何事情。所有初始化都已临时移至其他方法,并从面板组上设置渲染器的视图文件中调用。这一切都有效,但这个解决方案远非正确。