我想有任何页面上这款导航的情况下工作,但我无法找到如何引用一般原始页上的导航规则的标签to-view-id
:当定义一个导航的情况下,我如何对触发操作的页面进行通用引用?
<navigation-rule>
<from-view-id>/public/login/login.xhtml</from-view-id>
<navigation-case>
<from-action>#{LoginBean.login}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>/public/login/login.xhtml</to-view-id>
<redirect />
</navigation-case>
</navigation-rule>
的情况下转换为:后login.xhtml
页面上正确登录,重定向到自我,就是login.xhtml
我想有这样的:
<navigation-rule>
<navigation-case>
<from-view-id>*</from-view-id>
<from-action>#{LoginBean.login}</from-action>
<from-outcome>success</from-outcome>
<to-view-id>self</to-view-id>
<redirect />
</navigation-case>
</navigation-rule>
所以,如果,例如,登录操作从视图ID mypage.xhtml
一页被触发时,我得到<to-view-id>mypage.xhtml</to-view-id>
,但没有设定<from-view-id>mypage.xhtml</from-view-id>
换句话说特定的导航规则,我想知道是否有是<from-view-id>*</from-view-id>
的标签<to-view-id>
我当前的解决方案返回null
而不是"success"
的结果LoginBean.login
当参数redirectToSelfAfterLogin
被定义时,操作成功,这使得我在视图中调用该操作。
(我还以为有redirectToAfterLogin
参数,默认情况下成功返回null
而不是重定向到自我的,但是这是我目前的情况比较实用)
无论如何,我想知道是否也有可能是一个基于faces-config导航规则的解决方案。
感谢您的意见。我想要一个faces-config重定向的原因是开发团队定义的前两个导航案例是为了在登录操作中取得成果(和错误),因此只需添加第三个导航案例并在同一地点处理每个案例说得通。简单地返回null作为结果也一样,但是渲染条件在''不会被重新评估(因为视图不会改变)。我结束了重定向到'FacesContext.getCurrentInstance()。getRootView()。getViewId()+“?faces-redirect = true”'这得到了同样的结果... –
NotGaeL
2014-11-22 14:48:42
..尽管你的解决方案似乎更好。 – NotGaeL 2014-11-22 15:00:11