按enter键从jsf中的inputtext标记调用bean类中的方法

按enter键从jsf中的inputtext标记调用bean类中的方法,jsf,Jsf,Jsf文件具有inputtext字段。在字段中输入值并按enter键后,它应该在command button(nextButton)中执行操作,即BackingBean.java中的-call action() <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:c="http://java

Jsf文件具有inputtext字段。在字段中输入值并按enter键后,它应该在command button(nextButton)中执行操作,即BackingBean.java中的-call action()

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jstl/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:a4j="https://ajax4jsf.dev.java.net/ajax">

    <ui:define id="content" name="page-content">
    <h:inputText id="Number" value="#{BackinBean.Id}"/>
    </ui:define>

    <ui:define id="contentfooter" name="page-content_footer">

        <table width="100%">
            <tr>
                <td>
                    <h:commandButton id="nextButton" value="Next"
                        action="#{BackinBean.Action}" styleClass="btn"/>
                </td>
            </tr>
        </table>
    </ui:define>

您的代码没有
表单
标记,您的commandButton没有
过程
属性


研究这一最终指南:

实现这一点的一种方法是,您需要捕获键码并检查它是否为enter event(键码=13),并在您想要的按钮上触发click event,该按钮将提交表单并调用相关的backing bean操作方法。请看

    public Action(){..........}