更新视图参数而不重定向页面

时间:2013-03-04 10:29:07

标签: jsf-2 viewparams

是否可以在不重定向页面的情况下更新视图参数?例如

我有一个托管bean来检查ID是否存在

public void signIn(){
    Client c = clientFacade.loginDetail(client.getID());

    if (c != null) {
        loggedIn = true;  
    }
    else{
        loggedIn = false;
    }
}

以及在ID存在时呈现的视图。

<h:panelGroup rendered="#{not applicationManager.loggedIn}">
    <p:commandLink value="Sign In" onclick="loginDialog.show()" styleClass="login-link"></p:commandLink>
</h:panelGroup>
<h:panelGroup rendered="#{applicationManager.loggedIn}">
    <p:menuButton value="#{applicationManager.client.firstname}" />
</h:panelGroup>

<p:dialog widgetVar="loginDialog" >
    <h:panelGrid columns="2" cellpadding="5">
        ID :    <p:inputText value="#{applicationManager.client.id}" />
        <p:commandButton value="submit" action="#{applicationManager.signIn()}" update=":loginForm" />
    </h:panelGrid>
</p:dialog>

是否可以在视图顶部插入以下代码,并且仍然在网址上有更新?

<f:metadata>
    <f:viewParam name="input" value="#{applicationManager.client.id}" />
    <f:event listener="#{applicationManager.signIn()}" type="preRenderView"/>
</f:metadata>

我试过了,但它不起作用,所以我想我可能会遗漏某些东西或做错事。

0 个答案:

没有答案