gpt4 book ai didi

java - 带有 JSF 2 的 Spring Webflow 2.0 - 动态流是否可能?

转载 作者:行者123 更新时间:2023-12-03 23:14:19 27 4
gpt4 key购买 nike

我是 Spring Webflow 的新手,所以我对一个(或多个)流有疑问。

我想在 JSF 中构建一些 facelets 和一个可以在 ui-include 中具有不同 ui-params 的起始页,这取决于我稍后想在流程中添加的内容。

示例 application.xhtml:

`<ui:include src="start.xhtml">
<ui:param name="page1" value="page1.xhtml" />
<ui:param name="page2" value="page2.xhtml" />
<!-- page 3 should be ignored -->
<!-- <ui:param name="page3" value="page3.xhtml" /> -->
<ui:param name="page4" value="page4.xhtml" />
</ui:include>`

现在我有我要检查的 start-flow.xml,页面获得了哪个 ui:params。但我不知道该怎么做,而且我在网上找不到任何类似的东西。所以我想,这可能是错误的做法:-)

谁能帮帮我?

我的目标是有一个流程(独立于硬编码的 facelets,所以我可以检查 ui:params 的列表我有什么 facelets 并使用它们,比如:

`<view-state id="start" view="${flowScope.allViews[0]}">
<!-- assuming every facelet has a next-action -->
<transition on="next" to="${flowScope.allViews[1]}" />
</view-state>`

最佳答案

很确定您不能在 Spring Webflow 中获取 JSF 包含/参数列表。

最接近它的方法是获取 FacesContext 并尝试通过其 id 定位已知组件:

 boolean haveComponent1 = (FacesContext.getCurrentInstance().getViewRoot().findComponent("component1") != null);

假设您知道 webflow 包含页面中的组件 ID,您可以执行以下操作:

<decision-state id="doSomSink">
<on-entry>
<evaluate expression='FacesContext.getCurrentInstance().getViewRoot().findComponent("component1") != null)' result="flowScope.haveComponent1" result-type="bool"></evaluate>
</on-entry>
<if test="flowScope.haveComponent1" then="doIt" else="doNothing"/>
</decision-state>

关于java - 带有 JSF 2 的 Spring Webflow 2.0 - 动态流是否可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12518913/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com