Pregunta

Estoy usando ICEfaces con ICEpush para empujar algunos de los datos al navegador.

Sin embargo, no funciona como previsto:No es AJAX, sólo se invoca la acción y retornos de la acción como cualquier otro no-AJAX acción no.

Estoy utilizando la más ICEfaces y ICEpush versiones y Tomahawk 7 y JSF 2.

Funciona con ninguno de Servlet 2.5 ni Servlet 3.0.

Estas son las partes importantes de mi bean (ver ámbito):

public AjaxTest() {
    PushRenderer.addCurrentSession(PUSH_GROUP);
}

    public void addText() throws InterruptedException {
    for(int i = 0; i < 5; i++) {
        lines.add("line " + i);
        PushRenderer.render(PUSH_GROUP);
        Thread.sleep(1000);                     
    }
}

Y este es un fragmento de mi formulario:

    <h:panelGroup>
        <h:dataTable id="ajaxTestTable" value="#{ajaxTest.lines}" var="line">
            <h:column>
                <h:outputText value="#{line}" />
            </h:column>
        </h:dataTable>
        <h:commandButton id="startAjax" value="Start"
            action="#{ajaxTest.addText}" />
    </h:panelGroup>

¿Me olvido de algo?Gracias!

¿Fue útil?

Solución

Heleface 2.0 aún no está integrado con MyFaces.¿Ha intentado su solicitud con los archivos de Mojarra .Jar incluidos?

Otros consejos

Solo estoy familiarizado con los helapas de hielo 1.8, pero me parece que eres un botón de comando no está habilitado para Ajax.Tanto también tiene que usar un Listedor de Action en lugar de una acción

Puede usar el botón de comando ICEFACES:

<ice:commandButton id="startAjax" value="Start" 
       actionListener="#{ajaxTest.addText}"/>

o las etiquetas AJAX JSF 2:

<h:commandButton id="startAjax" value="Start">
    <f:ajax listener="#{ajaxTest.addText}"/>
</h:commandButton>

¿Tiene alguna herramienta de desarrollo que puede validar el código?Al menos en la versión de Vaadin de IcePush, no se puede confiar en sus ejemplos.En su demostración oficial había un código desaprobado y en su chat, le dieron código donde las importaciones eran de otro planeta con las correctas.

Mi eclipse dijo que muchas importaciones estaban incorrectas y el código tenía marcas desaprobadas en algunas funciones.Estos muchachos se desarrollan tan rápido que sus documentos están permanentemente desactualizados.Entonces, lea con cuidado cuál es su herramienta sobre el código!

También tengo el problema con la integración de IceFaces (para usar push) con la aplicación que ya utilizan Richfaces.Pero es posible integrar la IcePush directamente con casi cualquier java-aplicaciones web (con Servlet Api).Usted puede ver más detalles sobre http://achorniy.wordpress.com/2012/02/29/icepush-integration-to-web-application/

La idea es utilizar javascript api(o jQuery-api) por IcePush.Así, la página con javascript api de registrarse a sí mismo como oyente a las notificaciones de inserción y en la devolución de llamada usted puede llamar a cualquiera de las funciones de javascript para la actualización de su página.En Richfaces ejemplo, usted puede utilizar ajaxUpdateFunction() que en realidad es respaldado por <a4j:jsFunction name="ajaxUpdateFunction" action="#{myBean.update} reRender="updatedComponent(s)" ajaxSingle="true"/> o realizar ajax-solicitud con jQuery.En su caso (en JSF 2.0) creo que se puede llamar jsf.ajax.request(this, event, {render:'ajaxTestTable'}) para actualizar lo que usted desea (ejemplos http://andyschwartz.wordpress.com/2009/07/31/whats-new-in-jsf-2/)

todo lo que necesita hacer en el lado del servidor - es registrar IcePush servlet e inicializar icePush de conexión en el lado del cliente con javascript api.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top