在jsf bean中使用导航规则

时间:2013-10-15 05:15:24

标签: jsf-2

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

<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内部访问导航规则?

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

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用

从托管bean方法中重定向JSF页面
FacesContext.getCurrentInstance().getExternalContext().redirect("url");

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