Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JSF导航规则添加到页面本身_Jsf_Navigation_Jsf 2 - Fatal编程技术网

将JSF导航规则添加到页面本身

将JSF导航规则添加到页面本身,jsf,navigation,jsf-2,Jsf,Navigation,Jsf 2,如何定义从#{current.doLogout}到同一视图id的所有视图id的导航规则?如果在action方法中未定义任何或返回null或void,默认情况下,它将显示与提交表单的页面相同的页面 public void doLogout() { // Logout. } 这样,您就不需要在faces config.xml中处理导航案例。顺便问一下,您是否已经知道新的JSF 2.0“隐式导航”功能?如果您没有在action方法中定义任何或返回null或void,则默认情况下,它将显示与表

如何定义从#{current.doLogout}到同一视图id的所有视图id的导航规则?

如果在action方法中未定义任何或返回
null
void
,默认情况下,它将显示与提交表单的页面相同的页面

public void doLogout() {
    // Logout.
}

这样,您就不需要在
faces config.xml
中处理导航案例。顺便问一下,您是否已经知道新的JSF 2.0“隐式导航”功能?

如果您没有在action方法中定义任何或返回
null
void
,则默认情况下,它将显示与表单提交位置相同的页面

public void doLogout() {
    // Logout.
}

这样,您就不需要在
faces config.xml
中处理导航案例。顺便问一下,您是否已经知道新的JSF2.0“隐式导航”功能?

您需要使用通配符来实现这一点

只需在action标记中调用logout方法。只需将其添加到faces-config.xml中

<navigation-rule>
 <from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>welcome</from-outcome>
<to-view-id>/login.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>

*
欢迎
/login.xhtml

您需要使用通配符来实现这一点

只需在action标记中调用logout方法。只需将其添加到faces-config.xml中

<navigation-rule>
 <from-view-id>*</from-view-id>
<navigation-case>
<from-outcome>welcome</from-outcome>
<to-view-id>/login.xhtml</to-view-id>
<redirect/>
</navigation-case>
</navigation-rule>

*
欢迎
/login.xhtml

您的答案因此而异。操作方法的返回类型可以是void吗?如果我没有在faces-config.xml中定义规则,commandLink将由于缺少任何导航规则而被禁用@mvg:是的,它可以。我没有说过它必须返回
字符串@那么你的问题的原因就在别的地方了。再一次,您是否知道JSF 2.0中新的隐式导航规则使整个导航规则过时了?您是指隐式导航,即返回页面名称(facelet)?事实上,我有一个命令链接,可以从任何页面(facelet)单击,并将调用会话范围bean的方法。在此之后,我希望用户访问同一页面,但他已注销,页面内容可能会有所不同。您的答案因此而有所不同。操作方法的返回类型可以是void吗?如果我没有在faces-config.xml中定义规则,commandLink将由于缺少任何导航规则而被禁用@mvg:是的,它可以。我没有说过它必须返回
字符串@那么你的问题的原因就在别的地方了。再一次,您是否知道JSF 2.0中新的隐式导航规则使整个导航规则过时了?您是指隐式导航,即返回页面名称(facelet)?事实上,我有一个命令链接,可以从任何页面(facelet)单击,并将调用会话范围bean的方法。之后,我希望用户访问同一页面,但他已注销,页面内容可能不同。据我所知,您的标题和描述各不相同。当您的标题说明您需要在单击命令按钮(这是@Balusc所描述的)后进入同一页面时,您的描述说明了我所描述的内容。如果我错了,请纠正我。据我所知,你的标题和描述各不相同。当您的标题说明您需要在单击命令按钮(这是@Balusc所描述的)后进入同一页面时,您的描述说明了我所描述的内容。如果我错了,请纠正我