0

具有 Spring Web Flow 的转换配置:

<transition on="getFiles">
    <evaluate expression="searchService.getFiles(flowScope.searchCriteria, requestParameters.fileId)"
     result="viewScope.file" result-type="dataModel"/>
</transition>

searchService.getFiles(flowScope.searchCriteria, requestParameters.fileId)在两种情况下需要调用方法:

1.检索文件(发生在1.xhtml
2.排序文件(发生在2.xhtml

问题是,在排序(第 2 步)文件时,文件requestParameters.fileId丢失了。

是存储fileId参数交叉1.xhtml2.xhtml视图的方法吗?

4

1 回答 1

0

不要通过 requestParameters 请求 fileId 属性。requestParameters 对象基本上是请求属性。您可以观察到您将文件设置为 viewScope.file。这意味着您可以在视图中的任何位置相应地访问该文件。viewScope.file.fileId 是否存在?

请求在第一次转换后丢失,另一种方法是您可以尝试将其设置到 flashScope 中。

根据您的评论更新。尝试先将其设置到 flash/viewScope 中。

你可以这样做

<transition on="getFiles">
    <set var="flashScope.fileId" value="requestParameters.fileId"/>
    <evaluate expression="searchService.getFiles(flowScope.searchCriteria, requestParameters.fileId)"
     result="viewScope.file" result-type="dataModel"/>
</transition>
于 2011-03-14T19:29:10.837 回答