如何使用f:ajax在jsf ajax调用中从bean获取响应

时间:2015-05-29 11:24:51

标签: ajax jsf

您好我正在研究jsf f:ajax当我使用ajax在页面中完成验证时,它对我有用。但现在我想从一个作为ajax监听器调用的Managed bean方法获得响应。

我无法以任何格式获得回复。请帮助我。 这是代码

register.xhtml

<h:outputText value="Full Name:" escape="false" />
        <h:inputText value="#{display.user}" required="true" label="User ID"
            id="username">
            <f:validateRegex pattern="[A-Za-z]*[\.][A-Za-z]*"></f:validateRegex>
            <!--            <f:validator validatorId="com.jason.jsf.custom.Myvalidator"></f:validator> -->
            <f:ajax render="usernameMessage outputMessage" event="blur" />
        </h:inputText>
        <h:message id="usernameMessage" for="username" style="color:red;" />

        <h:outputText value="Email:" escape="false" />
        <h:inputText value="#{display.email}" required="true" id="EmailID"
            label="Email ID"
            validatorMessage="#{display.email} is not valid email">
            <f:validateRegex
                pattern="[\w\.-]*[a-zA-Z0-9_]@[\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]" />
            <f:ajax render="EmailIDmsg" event="blur"
                listener="#{display.getMessage}" onevent="fun" />
        </h:inputText>
        <h:message id="EmailIDmsg" for="EmailID" />

的script.js

  function fun(e){

    var xmlDoc,x,txt,i;


    alert("text"+e.responseText);

    alert("XML"+e.responseXML);
}

Display.java中的方法一个名为display的托管bean包含一个包含所有setter和getter的字段电子邮件

  public String getMessage(AjaxBehaviorEvent e) throws InterruptedException {
        System.out.println("hai this is listener method");
        System.out.println(e.getComponent().getId());
        System.out.println(email);

                return email;   
    }

我使用的是JSF 2.0 Mojarra 2.0.3

0 个答案:

没有答案