Spring Web Flow - 跨视图(jsf 页面)存储请求参数
具有 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.xhtml
和 2.xhtml
视图的方法吗?
Have transition configuration for Spring Web Flow:
<transition on="getFiles">
<evaluate expression="searchService.getFiles(flowScope.searchCriteria, requestParameters.fileId)"
result="viewScope.file" result-type="dataModel"/>
</transition>
It's needed to invoke searchService.getFiles(flowScope.searchCriteria, requestParameters.fileId)
method in two cases:
1. retrieve files (occurred on 1.xhtml
)
2. sort files (occurred on 2.xhtml
)
Problem is that, when sorting(step 2) files, requestParameters.fileId
is lost.
Is it way to store fileId
param cross 1.xhtml
and 2.xhtml
views?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不要通过 requestParameters 请求 fileId 属性。 requestParameters 对象基本上是请求属性。您可以观察到您将文件设置为 viewScope.file。这意味着您可以在视图中的任何位置相应地访问该文件。 viewScope.file.fileId 是否存在?
第一次转换后请求会丢失,另一种方法是您可以尝试将其设置到 flashScope 中。
根据您的评论进行更新。首先尝试将其设置到 flash/viewScope 中。
你可以这样做
Dont request the fileId attribute by the requestParameters. The requestParameters object is basically the request attributes. You can observe that you set the file as viewScope.file. That means that anywhere within the view you can access the file accordingly. Does viewScope.file.fileId exist?
The request is lost after the first transition, an alternative is you can try setting it into the flashScope.
Update based on your comment. Try setting it into the flash/viewScope first.
You can do it like this