Quando si utilizza Spring Web Flow 1, come posso aggiungere un oggetto a un elenco in un bean?

StackOverflow https://stackoverflow.com/questions/1001084

  •  05-07-2019
  •  | 
  •  

Domanda

Ho un flusso web in cui devo acquisire dati su uno degli schermi.

Questi dati sono memorizzati in un oggetto che verrà conservato in un elenco nel bean.

Al momento dell'invio della pagina, voglio essere in grado di creare un oggetto e aggiungerlo all'elenco nel bean.

È possibile?

Grazie

È stato utile?

Soluzione 2

Alla fine sono riuscito a farlo funzionare con i seguenti flussi.

Ho creato un bean di supporto per contenere una funzione da aggiungere all'elenco contenuto nel bean di modulo.

<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>

Quindi visualizza nuovamente la pagina originale

Altri suggerimenti

Devi fare un paio di cose:

  1. Posiziona un oggetto nell'ambito del flusso (o aggiungi un campo aggiuntivo su un oggetto esistente come il tuo Modulo) per fornire un percorso di associazione fisso all'oggetto che desideri modificare. Se non lo fai, non puoi sfruttare il databinding di Spring.

  2. Scrivi un metodo su FormAction per posizionare questo oggetto nell'elenco e imposta questo metodo per l'esecuzione sulla transizione seguita quando invii la pagina corrente. Questo metodo può ripulire le risorse a livello di flowscope utilizzate in (1) come richiesto.

Modifica La documentazione di Webflow contiene buoni esempi di come eseguire azioni sulle transizioni. Per la versione 2 di Webflow, consulta Esecuzione delle transizioni delle viste e Azioni di esecuzione . Per la versione 1, vedere Definizione di flusso .

Vorrei archiviare il fagiolo (e l'elenco) nella sessione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top