URGENTE - Radio com STRUTS 2

9 respostas
ana.araujo

Olá…

estou tendo um probleminha ao criar um <s:radio/> …

estou fazendo o seguinte:

JSP

<s:action name="radioTag" var="tipoOpcoesEntrega"/>
<s:radio label="Opções de Envio" name="opcaoEntrega" list="tipoOpcoesEntrega"

JAVA

public class OpcoesJsp extends ActionSupport{
	
	@SuppressWarnings("unchecked")
	private List opcaoEntrega;

	@SuppressWarnings("unchecked")
	public String execute()throws Exception{
	    opcaoEntrega = new ArrayList();
	    opcaoEntrega.add("Retirar na loja");
	    opcaoEntrega.add("Enviar para o endereço");
	
	    return SUCCESS;
	}    
	
	/**
	 * @return the opcaoEntrega
	 */
	@SuppressWarnings("unchecked")
	public List getOpcaoEntrega() {
		return opcaoEntrega;
	}

	/**
	 * @param opcaoEntrega the opcaoEntrega to set
	 */
	@SuppressWarnings("unchecked")
	public void setOpcaoEntrega(List opcaoEntrega) {
		this.opcaoEntrega = opcaoEntrega;
	}
	
	

}

STRUTS-DEFAULT-CONFIG.XML

<action name="radioTag" class="br.gov.stf.action.util.OpcoesJsp">
        <result>/jsp/catalogoproduto/exibirConfirmacao.jsp</result>
</action>

Alguem sabe como resolver isso… :frowning:

Ana Paula

9 Respostas

ana.araujo

este é o erro

Opções de Envio: br.gov.action.util.OpcoesJsp@e1e567

no ligar do radio esta aparecendo o endereço da classe…

att.
Ana Paula Lopes Araújo

fiaux

http://www.roseindia.net/struts/struts2/struts2uitags/radio-tag.shtml

ana.araujo

foi lá mesmo que eu peguei este exemplo…
se vc reparar esta igualzinho…

so que esta dando este erro…

Opções de Envio: br.gov.action.util.OpcoesJsp@e1e567

att.
Ana Paula

S

vc não esta referenciando sua list.

o nome de seu objeto list é: opcaoEntrega

make that…

<s:radio label="Opções de Envio" name="tipoOpcoesEntrega" list="opcaoEntrega"

ps: NÃO USE URGENTE, O PESSOAL PODE NÃO GOSTAR.

fiaux

Igualzinho não tá não… e acho que não é erro isso, na verdade você recebeu uma classe em algum lugar aí… o que você deve fazer é: no atributo list de s:radio botar a lista que alimenta os radios que serão criados. Em name, você aponta para onde quer que vá o selecionado.
Algo como:

Na jsp:

<s:radio name="idPessoaSelecionada" list="pessoas" listKey="id" listValue="nome" />

Classe Pessoa:

public class Pessoa 
{
   private Long id;
   private String nome;

   //...
}

Na action:

private List<Pessoa> pessoas;
   private Long idPessoaSelecionada;

   public List<Pessoa> getPessoas() 
   {
      //faz alguma coisa
   }

Não testei mas algo assim acho que funciona.

ana.araujo

:cry:

uhhh… nao funcionou nao…
na verdade esta dando a mesma coisa…

Opções de Envio: br.gov.action.util.OpcoesJsp@e1e567

PS:
e quero pedir DESCULPAS aos que sentiram ofendidos por eu ter colocado URGENTE no assunto… :smiley:

fiaux

Onde aparece isso??

ana.araujo

no browser…

no lugar onde deveria aparacer o radio…

Luiz_Gustavo

Tente usar um Map:

@SuppressWarnings(“unchecked”)
private Map opcaoEntrega;

@SuppressWarnings("unchecked")  
public String execute()throws Exception{  
    opcaoEntrega = new HashMap();  
    opcaoEntrega.put("1", "Retirar na loja");  
    opcaoEntrega.put("2", "Enviar para o endereço");  
  
    return SUCCESS;  
}

http://struts.apache.org/2.x/docs/radio.html

Abraços

Criado 3 de setembro de 2008
Ultima resposta 20 de mai. de 2009
Respostas 9
Participantes 4