Code xhtml
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:p="http://primefaces.org/ui">
<h:head>
<title></title>
</h:head>
<h:body>
<p:layoutUnit position="center">
<h:form>
<h:panelGrid columns="3" cellpadding="5">
<h:outputText value="Numero:" />
<p:inputText id="surname" value="#{operacion.numero}">
<p:ajax event="blur" update="out2" listener="#{operacion.resolver()}" />
</p:inputText>
<h:outputText id="out2" value="#{operacion.respuestaEntera}" />
</h:panelGrid>
</h:form>
</p:layoutUnit>
<br />
</h:body>
</html>
Managed bean that allows you to call the function in the xhtml
public class Operacion {
private String numero;
private String respuesta;
private int respuestaEntera;
public Operacion() {
}
public int getRespuestaEntera() {
return respuestaEntera;
}
public void setRespuestaEntera(int respuestaEntera) {
this.respuestaEntera = respuestaEntera;
}
public String getNumero() {
return numero;
}
public void setNumero(String numero) {
this.numero = numero;
}
public String getRespuesta() {
return respuesta;
}
public void setRespuesta(String respuesta) {
this.respuesta = respuesta;
}
public void resuelveOperacion() {
String num1 = "";
String num2 = "";
int numero2 = Integer.parseInt(this.numero);
for (int x = 0; x < numero.length(); x++) {
if (numero.charAt(1) == '+') {
if (numero == null) {
num1 = numero;
} else {
num2 = numero;
}
}
int suma = Integer.parseInt(num1) + Integer.parseInt(num2);
respuestaEntera = suma;
}
}
}