【问题标题】:Simple Variable in Web FlowWeb Flow 中的简单变量
【发布时间】:2013-02-22 09:50:54
【问题描述】:

我在 flow.xml 中有不同的 view-state。所有这些州都有相同的看法。现在我想设置一个只包含一个字符串的变量并在视图文件中调用它来自定义内容。
这是我的文件:
flow.xml对于视图状态的示例二

<view-state id="rcpm" view="rc/rcmembers.xhtml">
    <on-entry>
        <evaluate expression="RCHtmlCache.getCommunityList('rcpm')"
            result="flowScope.members" />
    </on-entry>
</view-state>

<view-state id="rcarch" view="rc/rcmembers.xhtml">
   <on-entry>
        <evaluate expression="RCHtmlCache.getCommunityList('rcarch')"
            result="flowScope.members" />
    </on-entry>
</view-state>

在这个文件中,我需要一个带有视图状态 ID 值的变量,例如“rcarch”。

rcmembers.xhtml 只是我要调用变量的部分代码

<p:panel id="panel" header="Memberslist of **Here comes the value of the variable">

希望你能理解我的问题...

【问题讨论】:

    标签: java spring jsf spring-webflow


    【解决方案1】:

    你有两个选择:

    首先,您可以在流定义级别定义它并直接将其公开给视图:

    <on-entry>
       <set name="flowScope.myView" value="flowRequestContext.currentState.id"/>
    </on-entry>
    

    或者您可以将流上下文传递给控制器​​,然后将其公开:

    <evaluate expression="RCHtmlCache.getCommunityList(flowRequestContext)" result="flowScope.members"/>
    

    在控制器上:

    public String getCommunityList(RequestContext context) {
       context.getFlowScope().put("myView", context.getCurrentState().getId());
       ...
    }
    

    希望有帮助

    【讨论】:

    • 非常感谢!您的第一个选项绝对完美!非常感谢!我不知道命令“flowRequestContext.currentState.id”。最后:) 再次感谢!对我有很大帮助!
    • 不客气 :-) 刚刚发表了一篇关于 Spring Web Flow 2 中的通信的帖子。它可能对这种情况和其他相关情况有用:blog
    【解决方案2】:

    为什么不为此视图状态创建一个子流?

    这样你就可以为你的变量输入一个输入并从任何地方调用它。不需要有多个相同的视图状态。

    【讨论】:

    • 我有一个场景,我需要从一个流来回跳转到另一个子流,我正在使用&lt;subflow-state&gt; 来做这件事。我的问题是,使用该特定流的&lt;var&gt; 定义的变量是在每次调用该流时实例化还是仅实例化一次?
    • 如果var在子流中,则每次调用
    【解决方案3】:

    在这个问题之后,一些用户问我,如何设置一个带有字符串值的简单变量。所以 xpadro 的回答对我帮助很大,但是有些用户点击这个问题就知道如何用字符串值设置一个简单的变量。所以我也想在这里发布答案:
    使用 xpadro 的代码,只需将值替换为您想要用 ' 包围的字符串即可:

    <set name="viewScope.variable" value="'String you want'" />
    

    就像 xpadro 所说,set 标签应该留在on-entry...
    要知道您应该使用哪个Scope,请查看http://static.springsource.org/spring-webflow/docs/2.0.x/reference/html/ch03s05.html

    希望我可以帮助某人:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多