Pregunta

Tengo un flujo web donde necesito capturar datos en una de las pantallas.

Estos datos se almacenan en un objeto que se mantendrá en una lista en el bean.

Al enviar la página, quiero poder crear un objeto y agregarlo a la lista en el bean.

¿Es esto posible?

Gracias

¿Fue útil?

Solución 2

Al final logré que funcionara con los siguientes flujos.

Creé un bean auxiliar para mantener una función para agregar a la lista contenida en el formulario bean.

<view-state id="page2" view="page2">
    <transition on="save" to="addToList">
        <action bean="form" method="bindAndValidate"/>
    </transition>
    <transition on="back" to="page1">
        <action bean="formAction" method="bindAndValidate"/>
    </transition>
    <transition on="next" to="page3">
        <action bean="formAction" method="bindAndValidate"/>
    </transition>
    </view-state>

    <action-state id="addToList">
        <bean-action bean="helperbean" method="addToList">
            <method-arguments>
                <argument expression="conversationScope.form"/>
        </method-arguments>
        </bean-action>
        <transition on="success" to="page2"/>
    </action-state>

Luego muestra la página original nuevamente

Otros consejos

Debe hacer un par de cosas:

  1. Coloque un objeto en el alcance del flujo (o agregue un campo adicional en un objeto existente como su Formulario) para dar una ruta de enlace fija al objeto que desea editar. Si no hace esto, no puede aprovechar el enlace de datos de Spring.

  2. Escriba un método en su FormAction para colocar este objeto en su lista, y configure este método para que se ejecute en la transición que se sigue cuando envía la página actual. Este método puede limpiar los recursos de nivel de flujo utilizados en (1) según sea necesario.

Editar La documentación de Webflow tiene buenos ejemplos de cómo ejecutar acciones en transiciones. Para la versión 2 de Webflow, consulte Ejecución de transiciones de vista y Acciones de ejecución . Para la versión 1, consulte Definición de flujo .

Almacenaría el Bean (y la lista) en la sesión.

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