【发布时间】:2011-07-06 10:17:06
【问题描述】:
我的 Web 应用程序有两个搜索页面 - search1.jsf 和 search2.jsf - 它们共享同一个 bean,而后者又调用结果页面 - result.jsf。
所以两个搜索页面都有一个命令按钮
<h:commandButton value="Commit" action="#{search.commit}" />
“搜索”bean 然后处理搜索并使用
转发到结果页面target = "result?faces-redirect=true";
现在 result.jsf 不知道使用了哪个搜索页面。如何传递调用页面,以便被调用页面能够将链接呈现回调用页面?
使用浏览器后退按钮(或 Javascript 代码)返回历史记录的缺点是用户在浏览结果后只会返回结果中的一页,而不是“向上”搜索参数形式。
目前我看到的选项是:
使用
<f:param>或 action="#{search.commit(name_of_calling_page)} 将调用者页面名称通过链传递到结果页面
将所有“搜索参数”表单放在一个JSF页面中,并有条件地切换内容
或者是否有返回调用 JSF 页面名称的 JSF 函数?
【问题讨论】:
标签: java jsf-2 navigation