java - 将参数传递给 JSF 函数

标签 java hibernate 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.
}

另请参阅:

关于java - 将参数传递给 JSF 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16073051/

相关文章:

java - 两个线程执行完毕后进行清理

java - 使用 Krakatau 将 Java 字节码重新组装到 .class 文件时出错

java - 相对排序 - insertBefore() 和 insertAfter() 方法

java - 如何在 JPA 规范中按字段区分计数查询?

java - 使用 Hibernate 回调的优点?

java - Java Spring Hibernate 项目中更新数据库对象的最佳实践是什么

java - 使用java解析SQL语句并在修改后重建

java.lang.ClassCastException : org. primefaces.model.DefaultUploadedFile 无法转换为 java.io.File

java - Apache Tomahawk FileUpload 不工作

java - 根据当前表单的必填字段禁用/启用命令按钮?