簡體   English   中英

將參數傳遞給函數JSF

[英]Passing Parameters to a function JSF

嗨,大家好,我需要將一些參數傳遞給actionListener,這是我的代碼

<p:dialog id="dialog" header="Acceso Restringido" widgetVar="dlgRegister" modal="true">  
<h:form>  

    <h:panelGrid columns="2" cellpadding="5">  
        <h:outputLabel for="username" value="Nombre de Usuario:" />  
        <p:inputText value="#{loginBean.usuario.username}"   
                id="username" required="true" label="username" />  

        <h:outputLabel for="password" value="Contraseña:" />  
        <h:inputSecret value="#{loginBean.usuario.password}"   
                id="password" required="true" label="password" />

        <h:outputLabel for="correo" value="Correo:" />  
        <h:inputSecret value="#{loginBean.usuario.correo}"   
                id="correo" required="true" label="correo" />

        <f:facet name="footer">  
            <p:commandButton id="regButton" value="Registrar" update=":growl"   
                             actionListener="#{loginBean.login(actionEvent)}"   
                oncomplete="handleLoginRequest(xhr, status, args)"/>  
        </f:facet>  
    </h:panelGrid>  

</h:form>  

好吧,我需要將svalue =“#{loginBean.usuario.username}”的示例傳遞給actionListener =“#{loginBean.login(actionEvent,--- HERE ----)}}”

actionListener="#{loginBean.login(actionEvent)}"  

這是不對的。 范圍中根本不存在托管bean #{actionEvent} JSF已經為動作偵聽器方法准備了真實的ActionEvent參數本身。 只是忽略它:

actionListener="#{loginBean.login}"  

JSF將隱式創建並傳遞正確的參數。

您可以直接在方法內部訪問用戶名:

public void login(ActionEvent event) {
    System.out.println(usario.getUsername()); // Look, it's already been set by JSF.
}

也可以看看:

  1. 該值已在loginBean.usario.username中設置
  2. 您可以像loginBean.usario.username一樣設置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM