0
我有几个面板组,其中一个具有“注册”和“登录”链接,另一个具有“注销”。当我登录时,只有“登录”链接消失,“注册”保持呈现状态,“注销”永远不会呈现。 #{user.loggedIn}“在用户登录时返回true。当在调试模式下刷新屏幕时,我可以看到该方法正在运行。有关如何使其正确工作的任何建议。代码应该是说明性的,请让我知道,如果它不是。JSF呈现属性
<h:panelGroup rendered="#{!user.loggedIn}">
<li>
<h:outputLink id="loginLink" value="javascript:void(0)" onclick="dlg.show()" title="login" styleClass="loginpanelclass">Log In</h:outputLink>
</li>
<li>
<h:link value="Register" outcome="/registration/register.xhtml" />
</li>
</h:panelGroup>
<h:panelGroup rendered="#{user.loggedIn}">
<li>
<h:commandLink action="#{user.logout()}">Logout</h:commandLink>
</li>
</h:panelGroup>
一般来说,为了更新未呈现的元素,您必须更新始终呈现的包装器,这可能对您有所帮助http://stackoverflow.com/a/10370268/617373 – Daniel 2012-07-09 06:28:31
我在想这个可能是问题。我会在链接中研究解决方案,看看我能做些什么。此外,专家小组并非表格,这是一个问题吗? – BillR 2012-07-09 12:39:00
@Daniel只是好奇,因为这不是一种形式,我是否将ajax标签包含在面板组或外部......或者在哪里?还是它必须在一个形式? – BillR 2012-07-09 13:05:33