您好我正在研究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