Problema com <s:form> encadeados - Struts 2

5 respostas
W

Pessoal tenho uma aplicação que tem um <s:form> principal que tem varios <s:form> dentro dele que fazem busca no banco de dados(AJAX) e retornam o resultado na tela(Em texto e campos escondidos). Esses dados, e mais alguns que serão digitados pelo usuario, o <s:form> principal irá capturar e executar os procedsimentos para persistir.

Todos os <s:form> executam action distintas, e os <s:form> que fazem busca retornam seus resultados(paginas .jsp) em div’s no form( Uso o a propriedade ‘targets’ do <s:submit> do <s:form>.

O problema ocorre quando tento executar a ação do <s:form id=“principal”>, conforme segue abaixo. É como se ele não achasse a action. Alguem sabe o pq???

&lt;div id="cadastroInscricaoRemocao"&gt;&lt;/div&gt;
 &lt;s&#58;url id="resultInscricaoRemocao" value="/atribuicao/CadastroInscricaoRemocaoResult.action" /&gt;
 
  &lt;div&gt;
  &lt;s&#58;form  id="formCadastroRemocao" namespace="/atribuicao" method="post" name="formCadastroRemocao" action="cadastroRemocao"  &gt;
 
 		
 
   	 	 &lt;div id="dadosFuncionario"&gt;&lt;/div&gt;
         	 &lt;s&#58;url id="resultDadosPermuta" value="/atribuicao/buscaDadosPermuta.action" /&gt;  
   	
 	&lt;s&#58;form id="formFuncionario" namespace="/atribuicao" method="post" name="formFuncionario" action="buscaDadosFuncionario"&gt;
 	
         	&lt;div&gt;
          		&lt;s&#58;submit name="btnBuscarDadosFuncinario" value="Buscar Dados"  theme="ajax" targets="dadosFuncionario"  /&gt;
 		&lt;/div&gt;
 	&lt;/s&#58;form&gt;
   
 
    	 	 &lt;div id="dadosPermuta"&gt;&lt;/div&gt;
         	 &lt;s&#58;url id="resultDadosPermuta" value="/atribuicao/buscaDadosPermuta.action" /&gt;  
 
 	&lt;s&#58;form id="formPermuta" name="formPermuta"   namespace="/atribuicao" method="post"  action="buscaDadosPermuta"&gt;
  		&lt;div&gt;
           		&lt;s&#58;submit name="btnBuscarDadosPermuta" value="Buscar Dados"  theme="ajax" targets="dadosPermuta" /&gt;
      
    		&lt;/div&gt;
    	
 	&lt;/s&#58;form&gt;
 
    &lt;s&#58;submit  value="Cadastrar" theme="ajax" targets="cadastroInscricaoRemocao" /&gt;
  &lt;/s&#58;form&gt;		
 
 				
 			
 		  &lt;s&#58;actionerror /&gt;
 		  &lt;s&#58;actionmessage/&gt;
  &lt;/div&gt;

5 Respostas

G

Só tem um problema. Não ache o form que você disse:

C

Pode ter um form dentro de outro form?

Parece que no FF funciona, mas no IE da erro.

Qual o navegador que você está testando?

W

Firefox 2.0.0.4…

eu testei akele ‘showcase’ que tem no site do struts…

coloquei a estrutura assim:

&lt;s&#58;form id='principal'&gt;

  &lt;s&#58;form id='primeiro'&gt;
  &lt;/s&#58;form&gt;

  &lt;s&#58;form id='segundo'&gt;
  &lt;/s&#58;form&gt;

&lt;/s&#58;form&gt;

Usando ou nao theme=‘ajax’ parece que a ação do <s:form id=‘principal’> é ignorada…sei lah por que…

os dois forms ‘internos’ as ações (action) funcionam normalmente…

G

Como você está capturando o atributo ‘id’ da tag <s:form> ?

W
&lt;s&#58;form id="a" action="Teste"&gt;
	
	&lt;s&#58;form id="aa" action="Teste1"&gt;
  	 		&lt;s&#58;submit theme="ajax" name="btnTeste1" value="Busca" /&gt;
	&lt;/s&#58;form&gt;
	
	&lt;s&#58;form id="aaa" action="Teste2"&gt;
  		
 		 &lt;s&#58;submit theme="ajax" name="btnTeste2" value="Busca" /&gt;
	&lt;/s&#58;form&gt;.

	&lt;%//A AÇÃO DO BOATAO ABAIXO É IGNORADA!!!!%&gt;
	&lt;s&#58;submit theme="ajax" name="btnTeste" value="Cadastra" /&gt;
&lt;/s&#58;form&gt;

É isso que vc keria saber??

Criado 22 de junho de 2007
Ultima resposta 27 de jun. de 2007
Respostas 5
Participantes 3