打印

关于@BeforeRender的参数isPostBack的疑问?

关于@BeforeRender的参数isPostBack的疑问?

<span style="color: Red;">isPostBack:</span><br>                    如果页面是由超链接过去的则为<span style="color: Blue;">false</span>可以执行页面的初始化。<br>                    如果是由其它页面跳转过去的则为t<span style="color: Sienna;">rue</span>不能执行其中的方法??<br><br>请问各个大蛱,这个情况<span style="color: Red;">正常</span>吗??<br>

TOP

这种情况是正常的。首先要清楚@BeforeRender是在Invoke Application和Response Render之间调用的。由超连接跳转过去,那么该请求只完成JSF生命周期的Restore View和Response Render阶段,所以并没有执行@BeforeRender注释所打上的方法,因此该方法的参数值为false。而通过页面跳转,会触发JSF生命周期的六个阶段,因此会调用到@BeforeRender注释所打上的方法,则方法的参数值为true。

总上所述,你说的这情况是正常的。

TOP

感谢版主

你讲解的非常清楚。谢谢!!

TOP

能具体解释一下哪种情况是属于超链接,哪种情况属于由其他页面跳转的情况吗?

TOP

回复楼上:

举个例子吧!
   这个就是跳转:FacesContext.getCurrentInstance().getExternalContext().redirect(pageURL);

通过普通的导航菜单实现 的就是链接

TOP