Los valores de formulario enviados no se actualizan en el modelo al agregar <f: ajax> a <h: commandButton>

Estoy aprendiendo a usar ajax dentro de jsf, hice una página que en realidad no hace nada, un texto de entrada que se rellena con un número, se envía al servidor, se llama al configurador para ese elemento con el valor enviado y se muestran los datos del usuario. valor.

Aquí está el código del frijol simple:

@ManagedBean(name="helper",eager=true)
public class HealthPlanHelper {


    String random = "1";

    public void setRandomize(String s){
        random = s;
                System.out.println("Calling setter");
    }

    public String getRandomize(){
        return random;
    }

}

Y la página jsf:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:f="http://java.sun.com/jsf/core">
<h:head></h:head>
<h:body>

    <h:form>
        <h:commandButton action="nothing">
            <f:ajax render="num"/>
        </h:commandButton>

        <h:inputText value="#{helper.randomize}" id="num"/>
    </h:form>

</h:body>
</html>

Como puede ver, este es un bean de ámbito de solicitud, siempre que hago clic en el botón, el servidor muestra que crea una instancia del bean, pero el método de establecimiento nunca se llama, por lo tanto, el getter devuelve siempre "1" como el valor del cuerda.

Cuando quito el setter se llama normalmente.

Respuestas a la pregunta(1)

Su respuesta a la pregunta