【发布时间】:2011-06-15 22:43:23
【问题描述】:
我有一个名为 UserSearchHandler 的托管 bean,它有一个填充 UserSearchHandler.searchResults 的 doSearch 方法,这些方法显示在 userSearch.xhtml 页面上的表格中。
我有另一个名为 UserHandler 的托管 bean,它有一个 showUser 方法等等。
在搜索结果表中,用户名是一个链接,当单击该链接时,应该会在userView.xhtml 页面上显示用户详细信息。表格和链接如下所示:
<p:dataTable var="user" value="#{userSearchHandler.searchResults" >
// ... and so on ... then
<h:commandLink value="#{user.firstName}" action="#{userHandler.showUser}">
<f:setPropertyActionListener target="#{userHandler.userIdToShow}" value="#{profile.id}"/>
</h:commandLink>
当托管 bean 设置为 session 范围时,一切正常。
但是,当我将 bean 上的范围更改为 request 时,搜索工作并且表格被填充,但是当我单击名称链接时没有任何反应。我在userHandler.showUser 方法上设置了一个断点,当userSearchHandler 设置为“请求”范围时,它永远不会被击中。
谁能帮助解释这是为什么,或者我做错了什么?
【问题讨论】:
标签: jsf