Tag <html:select> do Struts

1 resposta
M

Boa tarde!

Tenho um <html:select> do Struts listando todas as caixas de som, e quero que ao clicar no link Carregar(um <html:link>) seja chamado um action para adicionar o valor selecionado em uma LinkedList. Porém não consigo pegar o valor selecionado. Sempre o que me retorna é o último valor da minha lista.

&lt;html&#58;select property="caixas_som" name="EstacaoForm"&gt;
  &lt;logic&#58;iterate name = "llistSom" id = "listaSom"&gt;            
   &lt;html&#58;option value='$&#123;listaSom.codigo&#125;'&gt;&lt;bean&#58;write name="listaSom" property="codigo"/&gt;
&lt;/html&#58;option&gt;                               
   &lt;/logic&#58;iterate&gt;
  &lt;/html&#58;select&gt; 
 &lt;html&#58;link page="/gravaComponentes.do'" paramId="codigo" paramName="listaSom" paramProperty="codigo"&gt;&lt;bean&#58;message key="estacao.carregar" /&gt;
&lt;/html&#58;link&gt;

Como eu faço? :roll:
Grata!
Maria Ane,
Att,[/code]

1 Resposta

P

O que esta acontecendo no seu codigo é que no processamento da pagina primeiro é executado um logic:iterate na lista, posicionando assim sua lista no ultimo item.

Por isso sempre será enviado o id do ultimo item.

As taglibs são executas no server, e depois a paginas é enviada ao client (browser), qdo a pagina chega no client o id ja esta “setado” do link.

neste tipo de situação vc tem duas alternativas:

  1. Enviar os dados do fomulario atraves do metodfo POST, dando um submit na pagina. Ae vc pegaria o valor do id atraves do combobox.

  2. Usar a tag html de link e atraves de javascript colocar o id do item selecionado na url do link.

Criado 16 de agosto de 2006
Ultima resposta 16 de ago. de 2006
Respostas 1
Participantes 2