0

我创建了一个 bean 来搜索 sql 表。该 bean 生成一个显示在 Rich:dateTable 中的数组列表。对于此表中的每一行,都有一个列是指向另一个页面的链接,该页面指定要显示表中的哪条记录,例如:

<h:link id="profile_last_name" value="#{record.string}" outcome="#{search.action()}">
     <f:param name="user_id" value="#{record.getInteger('user_id')}"/>
</h:link>

搜索 bean 被传递一个导航结果,例如“staffEditUser”,它创建一个如下 URL:

http://localhost:8080/staff/edit/user.xhtml?user_id=98

我想更改搜索 bean,以便如果搜索结果中只有一行,它会立即转到编辑页面。如果我知道目标页面名称但我不知道,我知道如何进行重定向;我在搜索 bean 中所知道的只是导航结果。有没有办法从 bean 内部访问导航规则?

或者,这对我来说似乎很笨拙,我可以简单地将参数添加到将由 jsf 导航处理的 xhtml 文件中的重定向吗?如果是这样,怎么做?

非常感谢您的帮助。

4

1 回答 1

0

您可以从托管 bean 方法中重定向 JSF 页面

FacesContext.getCurrentInstance().getExternalContext().redirect("url");

据我了解你。如果返回的结果大小为 none,则应检查 ManagedBean 数据库读取方法内部,然后重定向到此记录的编辑页面。

于 2013-10-15T06:50:12.133 回答