Ao usar o Spring Web Flow 1, como faço para adicionar um objeto a uma lista em um bean?

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

  •  05-07-2019
  •  | 
  •  

Pergunta

Eu tenho um um fluxo web onde eu preciso de dados de captura em uma das telas.

Esses dados são armazenados em um objeto que será realizada em uma lista no bean.

Ao submeter a página que eu quero ser capaz de criar um objeto, e adicioná-lo à lista no bean.

Isso é possível?

Graças

Foi útil?

Solução 2

No final, eu consegui fazê-lo funcionar com os seguintes fluxos.

Eu criei um feijão ajudante para realizar uma função para adicionar à lista realizada no feijão formulário.

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

Em seguida, exibe a página original novamente

Outras dicas

Você precisa fazer um par de coisas:

  1. Coloque um objeto no escopo de fluxo (ou adicionar um campo extra em um objeto existente como seu Formulário) para dar um caminho de ligação fixo para o objeto que você deseja editar. Se você não fizer isso, você não pode tirar proveito da ligação de dados do Spring.

  2. Escrever um método em seu FormAction colocar esse objeto em sua lista, e definir este método para executar na transição seguidas quando você enviar a página atual. Este método pode limpar os recursos de nível flowscope utilizados em (1), conforme necessário.

Editar A documentação Webflow tem bons exemplos de como executar ações em transições. Para Webflow versão 2 check-out Execução de vista transições e execução de ações . Para a versão 1, consulte Fluxo definição .

Gostaria de armazenar o feijão (ea lista) na sessão.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top