RadioButton em JSP

6 respostas
A

Olá Gente!
Eu estava procurando aqui algo de radiobutton, mas as respostas que eu queria eu n encontrei!
Eu estou procurando na net a solução para o que eu quero, mas se alguem tiver uma ideia pra me ajudar eu agradeço!
É o seguinte: Eu tenho 5 radiosbutton e os coloquei em um arraylist, ai ta beleza , apareceu os radios, só que eles não estão um embaixo do outro, mas depois eu vejo isso, o meu problema é que como é que eu sei que o radio ta selecionado?
Pq é assim que funciona o que eu quero, quando eu escolher radio1, ai eu clico em avançar e ele me direciona pra outra pagina, se eu escolher o radio 2 , é outra pagina ai vai, agora como é que eu faço isso no meu bean?
if(radio1 esta selecionado)
então retorna uma string que no meu faces config direciona para a pagina correspondente.
E agora como é que eu faço isso?Quando é que o radio ta selecionado?
Obrigada

6 Respostas

Z

kra… acredito que isso pode ser feito com javascript…
faz uma busca nesse foco q vc acha!

L

Aline,

É possível sim você fazer isso.
Você pode colocar todos os seus radios tendo o mesmo id, mas com valores diferentes. Dessa forma, quando você obter o valor desse parâmetro na sua action, você terá o valor selecionado.

Vc irá fazer algo mais ou menos assim:

jsp

<input type="radio" id="radio" value="radio1">Opção 1
<input type="radio" id="radio" value="radio2">Opção 2
<input type="radio" id="radio" value="radio3">Opção 3

Se vc tiver usando MVC, dentro da sua action vc faz a seguinte verificação:

String value = request.getParameter("radio");
if(value.equals("radio1"))
{...}else {...}

Se vc for fazer essa verificação antes, usando javascript, vc faz uma funcção javascript que verifique o valor do seu radio e de acordo com o resultado redireciona sua página para a url desejada.

Acho que é isso…

A

Nesse codigo que eu quero fazer, eu nunca usei script ou qualquer coisa que da ação na pagina jsp.
Eu faço metodos no bean, e sempre que preciso pegar algum valor na pagina eu busco pelo bean.
Então no meu bean, eu teria que ter um metodo pra receber o valor do que foi selecionado e ai sim verificar, igual como o rapaz falou do code do action entenderam?
Esse metodo é criado no meu bean e ai sim na action do meu botão eu chamo o metodo e ele verifica.
Agora como faz o metodo…
Eis a duvida!

L

Aline,

Vamos por parte, pq pra mim ficou um pouco confuso.

Esse bean que vc se refere, seria um objeto Form do struts?

Para facilitar, coloque parte do seu código aqui e quais os frameworks que você está utilizando.

Aí eu dou uma olhada e tento te passar o código pronto.

A

Ok!Espero que me ajudem =(

Bom eu tenho o meu bean que se chama Escolhas.java e a referencia dessa classe é a palavra esc, definida la no meu faces-config:

esc
Escolhas
session


Então eu tenho a pagina chamada escolhaQuest que tem 5 radiosbutton e um botão avançar definido ate agora nesse code:





********************************** O meu metodo selecionou é assim:
public void setSelecionou(String s) {

selecionou = s;

}

public String getSelecionou() {

return selecionou;

}

O meu metodo escolha é:

private SelectItem[] opcoes =

{

new SelectItem(new String(UE), “Única Escolha),

new SelectItem(new String(ME), Múltipla Escolha),

new SelectItem(new String(L), Ligação),

new SelectItem(new String(EC), Enunciado com código),

new SelectItem(new String(E), Escrita)

};

public SelectItem[] getEscolha() {

return opcoes;

}

Esse que faz aparecer os radios ta!

Então la no action do botão eu tenho que receber o que foi selecionado e direciona-lo para a pagina de acordo com a escolha ate agora eu tenho isso do metodo:

public String selecionouQuestao() {

String retornar="";

if(selecionou != null) {

//aqui que eu devo fazer os if para cada radio selecionado , se tipo for

//radio UE eu igualo a variavel retornar a uma variavel global e ai

//ela me diz qual pagina vai
} else           
        JOptionPane.showMessageDialog(null, "Você não selecionou nenhuma questão");

O metodo tem que ser algo assim:
if(radio1 no caso o Unica escolha estiver selecionado então a variavel
RETORNAR = escolheu1(que esta definida na classe Escolhas como
private static final String escolheu1= “unicaescolha”:wink:
e aí sim o metodo retorna a variavel RETORNAR.

return retornar;
}

E no meu faces-config seria isso, para dizer pra qual pagina vai:

/escolhaQuest.jsp

unicaescolha
/unicaEscolha.jsp


Claro que eu teno pra cada escolha uma outra parte desse code do faces-config
Bom, é isso que eu tenho que fazer, o que ta me matando é esse metodo!!!
se alguem puder ajudar, eu acho que agora deu pra entender o que eu quero, é que tava sem o code quando postei aqui.
Ate

L

Oi Aline, então, vc tá usando o jsf né?
Bem, eu nunca mexi com ele.
Então eu nao sei os métodos certinhos para usar, mas vc tem que seguir a opção 2 que eu falei.
O que vc precisa saber é descobrir como vc obtem o valor de um campo no seu form… Se vc tiver o objeto httpservletrequest disponivel, blz…usa ele… se não, vc tem que ver como obter.

Desculpa, mas eu nao manjo nada de jsf.

Criado 3 de julho de 2007
Ultima resposta 5 de jul. de 2007
Respostas 6
Participantes 3