2

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

我有一个托管 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>

是否可以在视图顶部插入下面的代码并且仍然对 url 进行更新?

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

我试过了,但它不起作用,所以我想我可能错过了什么或做错了什么。

4

0 回答 0