A java method can be invoked in an ajax request using listener option of p:ajax.
<div class="card">
<h:form>
<h:panelGrid columns="3">
<h:outputText value="Keyup: "/>
<p:inputText id="counter" value="#{listenerView.text}">
<p:ajax event="keyup" update="out" listener="#{listenerView.handleKeyEvent}"/>
</p:inputText>
<h:outputText id="out" value="#{listenerView.text}"/>
</h:panelGrid>
</h:form>
</div>
@Named
@RequestScoped
public class ListenerView {
private String text;
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public void handleKeyEvent() {
text = text.toUpperCase();
}
}