Pagina estilo STEP1->STEP2->FIM no Spring

8 respostas
brlima

Pessoal, alguem tem alguma dica da melhor maneira de fazer esse tipo de pagina? Onde tenho a principal que vai chamar outras até o fim?

A unica forma que pensei em fazer isso foi:

  1. Link para pagina1(Controller)
  2. No submit da pagina1, chamar uma pagina de forward para pagina2(Controller)

e assim por diante até o fim. Mas nao dá pra fazer uma chamada para a pagina2(Controller) no sumit da pagina1 ( dentro do formController ), sem ter que chamar uma pagina (no caso velocity) para fazer uma chamada a um outro controller?

Valeu…

8 Respostas

brlima

Maravilha!!! Feito!!!

Só por favor, alguem me fale se isso é irreal (incorreto) ou se realmente tá certo…

E ai no “forward:/test.do” substituo o /test.do pela URL que eu quero iniciar o meu controller… tá certo isso?

Funciona, funciona…:mrgreen:

brlima

é, NADA FEITO…

Se estou chamando um AbstractController, blz, exibe a pagina… mas se uso um SimpleFormController, ele tá redirecionando direto pro successView ao inves de ir pro formView…

E eu preciso chamar um SimpleForm para completar os dados que serao salvos… argh!!!

brlima

só para aproveitar se alguem quiser responder:

Eu preciso montar uma pagina que carrega dados do banco e no submit envia dados para o banco.

Ate agora só vi dois tipos de controllers no Spring, um chamando antes de exibir e outro no submit.

Existe algum que é chamado antes e depois de renderizar a pagina?

Mauricio_Linhares

Não sei direito o que você quer fazer, mas existem diversos controllers no Spring MVC:

Se você vai lidar com formulários -> SimpleFormController

Se você vai lidar com Wizards -> AbstractWizardFormController

Se você só vai responder a uma requisição diretamente -> AbstractController

Os links no Javadoc estão pra versão 2.0, mas nas anteriores essas classes já existem.

brlima

Valeu Mauricio. é la mesmo que estou buscando refugio…

Eu to tentando entender esses controllers ainda.
Mas no meu caso (nao sei se estou pensando errado ) mas tenho um formulario composto por mais de uma pagina, ou seja, o usuario vai navegando preenchendo informações e no fim tenho um monte de dados recolhidos em diversas paginas. Ok ate aqui opto pelo SimpleForm

So que cada pagina, tb precisa ser carregada com dados do banco, portando eu usaria o Abstract.

Ai fiquei perdido. To pensando em usar o Abstract para renderizar a resposta que sera um formulario, e no action vou apontar pra outro Abstract até o fim.

Mauricio_Linhares

Se você tem vários passos até o fim, deveria estar utilizando um WizardForm e não o SimpleForm.

brlima

Ok. To sando ele… mas to pegando essa exception:

javax.servlet.ServletException: Cannot expose session attribute 'MyController.PAGE.teste' because of an existing model object of the same name
	org.springframework.web.servlet.view.AbstractTemplateView.renderMergedOutputModel(AbstractTemplateView.java:137)
	org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
	org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:928)
	org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:705)
	org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:625)
	com.mot.bzcfc.dcnpi.web.dispatcher.MotDispatcherServlet.doService(MotDispatcherServlet.java:43)
	org.springframework.web.servlet.FrameworkServlet.serviceWrapper(FrameworkServlet.java:386)
	org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:346)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Se alguem tiver ideia de como sair desse problema…

<bean name="/wizard.action" class="MyController" >
	    <property name="commandName"><value>teste</value></property>
		<property name="pages"><value>newWizard_p1</value></property>
		<property name="sessionForm"><value>true</value></property>
	</bean>
brlima

ja vi que é por causa do ExposeSessionAttributes estar como true… Só que sem isso nao consigo pegar objetos da sessao… ou consigo???

Criado 14 de julho de 2006
Ultima resposta 17 de jul. de 2006
Respostas 8
Participantes 2