Estou trabalhando num sistema que usa Struts 2. Lá, tenho um select que mostra dois campos que eu pego do BD. Gostaria de saber como fazer (se tem como fazer), passar esses dois valores que ele mostra para meu action, pois pelo listKey só da passar um valor. Segue abaixo o código do meu select no JSP:
<s:select label="Operadora"
name="inscricao"
list="listaDeOperadoras"
listKey="inscricao"
listValue="inscricao +' - '+ nome"
required="true"
headerKey="-1"
headerValue="--Selecione--"
/>
Quando eu selecionar uma opção nessa combo, quero passar a inscricao e o nome como parametros para o action. Alguém pode me ajudar?
desculpe, mas não entendi bem onde devo colocar esse método.
em todo caso, acho que assim não resolveria, pois preciso passar a inscrição pra uma variavel e o nome pra outra variavel.
obrigado.
A
alots_ssa
Acho que não entendi, vc quer passar para sua action tanto a label quanto o vale do select? Caso seja isso, vc só consegue enviar pelo select o value, caso queira pegar a label, tem que manipular o select via js, pode acessar da seguinte forma: coloca um id no select e faz document.getElementById(“idDoSelect”).innerHTML, isso retorna a label, ai vc pode setar um campo hidden configurado para preencher seu atributo nome e pronto. Mas ainda estou em duvida se é isso mesmo que quer? achei meio estranho.
Alberto
mduques
A sua “listaDeOperadoras” é composta por VOs, DTOs ou alguns objetos que tenham os atributos (inscricao e nome) entao neste objeto voce coloca o metodo onde ele retorna a tal concatenacao que que queria entao, quando vc coloca o listValue=“chaveConcatenada” ele vai invocar o getChaveConcatenada vc nao precisa criar nenhuma atributo.
M
marcelodias
alots_ssa, cada opção do meu select mostra o numero da inscrição e o nome da empresa, por exemplo:
103291938 - CTBC CELULAR S/A
101245368 - GLOBAL VILLAGE TELECOM LTDA
.
.
.
O que eu quero é o seguinte: quando eu selecionar uma opção, eu pego o numero da inscrição e passo para o atributo “inscricao” do action, e o nome para o atributo “nome” do action. Daquela forma que vc disse ele retorna o label do select todo, todas as opções, e não somente a opção selecionada.
mduques
entao, vc ou coloca o valor concatenado e separa na action ou cria um hidden para armazenar o nome e atraves de javascript vc pega o valor selecionado do select e pega seu texto e coloca no hidden e submete sua pagina… so que se seu select apresentar
101245368 - GLOBAL VILLAGE TELECOM LTDA
vc tera que separar da mesma forma no action.