Objeto html:select

6 respostas
R

Oi pessoal… Beleza???

Tenho um objeto do tipo Linked List com alguns dados na minha sessão…pois bem queria
apresentar esses dados ao usuario em um objeto do tipo “select <html:select…” para que ele possa selecionar a opção desejada.
Como faço para iterar isso na minha JSP???

por exemplo na minha action coloquei:

session.setAttribute(“listaDespesas”, despesas);

ai gostaria de listar minhas depesas com: “descricao” e com o codigo “idDespesa” que ficaria oculto

despesa1
despesa2
despesa3

Só por teste eu fiz o seguinte:&lt;html&#58;select property=&quot;cliente&quot;&gt; &lt;html&#58;options collection=&quot;listaConciliados&quot; property=&quot;codLcto&quot; labelProperty=&quot;descricao&quot;/&gt; &lt;/html&#58;select&gt;
erro:

javax.servlet.ServletException: Cannot find bean under name org.apache.struts.taglib.html.BEAN

Obrigado,

Rodrigo.

6 Respostas

R

será que ninguem pode me ajudar?

V

Ae Rodrigo veja só,

Em sua sessão vc setou:
session.setAttribute(“listaDespesas”, despesas), certo?

O mais prático seria setar a sua lista “despesas” com a propriedade “LabelValueBean”.

ArrayList lista = new ArrayList();
lista.add(new LabelValueBean(despesas.getNome(), despesas.getId().toString()));

Agora para iterar com objeto tipo select:

<html:select property=“despesa.id”>
<html:options collection=“listaDespesas” property=“value” labelProperty=“label” />
</html:select>

onde value = “id” e label = “descrição”

espero ter ajudado…
[/b]

R

Oi Vladmir...

Fiz do jeito que vc me ensinou mas ainda assim não foi possivel compilar então resolvi postar meu codigo:

Trecho de Código da minha DAO ->
public LinkedList listaOperacaoes&#40;int idUsuario&#41; throws SQLException &#123; 
                    
           conn = retornaConn&#40;&#41;; 
           
           Statement stmt = conn.createStatement&#40;&#41;;
                                
           LinkedList operacoes  = new LinkedList&#40;&#41;;
        
        try &#123;
                 
           ResultSet rs = stmt.executeQuery &#40;&quot;select * from Tab_Operacao where CodUsuario LIKE '%&quot; + idUsuario + &quot;%'&quot;&#41;;
            
            while &#40;rs.next&#40;&#41;&#41; &#123;
               OpeBean ope = new OpeBean&#40;&#41;;
               
               ope.setCodOperacao&#40;rs.getInt&#40;&quot;CodOperacao&quot;&#41;&#41;;
               ope.setDescricao&#40;rs.getString&#40;&quot;Descricao&quot;&#41;&#41;;                   
               ope.setTipoOperacao&#40;rs.getInt&#40;&quot;TipoOperacao&quot;&#41;&#41;;
               operacoes.add&#40;ope&#41;; 
              
            &#125;  
          rs.close&#40;&#41;;                                
      &#125; 
      catch &#40;SQLException e&#41; &#123; 
            throw e; 
            
      &#125; 
      finally&#123;               
                 stmt.close&#40;&#41;;
                 conn.close&#40;&#41;;
      &#125;     
    
      return operacoes; 
        
    &#125;

Trecho de Código da minha ACTION ->

OpeDAO opeDAO  = new OpeDAO&#40;&#41;;
           
           operacoes  = opeDAO.listaOperacaoes&#40;id&#41;;
           
           ArrayList lista = new ArrayList&#40;&#41;; 
           
           lista.add&#40;new LabelValueBean&#40;operacoes.getDescricao&#40;&#41;, operacoes.getCodOperacao&#40;&#41;.toString&#40;&#41;&#41;&#41;; 

           session.setAttribute&#40;&quot;listaOperacoes&quot;,lista&#41;;
E por fim minha JSP ->
&lt;%@ taglib uri=&quot;http&#58;//jakarta.apache.org/struts/tags-bean&quot; prefix=&quot;bean&quot; %&gt;
&lt;%@ taglib uri=&quot;http&#58;//jakarta.apache.org/struts/tags-html&quot; prefix=&quot;html&quot; %&gt;
&lt;%@ taglib uri=&quot;http&#58;//jakarta.apache.org/struts/tags-logic&quot; prefix=&quot;logic&quot; %&gt;

&lt;% // Evitar Cacheamento da pagina JSP
   response.setHeader&#40;&quot;Cache-Control&quot;,&quot;no-cache&quot;&#41;; //HTTP 1.1

   response.setHeader&#40;&quot;Pragma&quot;,&quot;no-cache&quot;&#41;; //HTTP 1.0

   response.setDateHeader &#40;&quot;Expires&quot;, 0&#41;; //prevents caching at the proxy server
%&gt;

&lt;html&#58;html locale=&quot;true&quot;&gt;
    &lt;head&gt;
        
        &lt;title&gt;Novo Lançamento&lt;/title&gt;
    &lt;/head&gt;
    &lt;body&gt;
       
    &lt;html&#58;form action=&quot;/operacao.do&quot;&gt;
        
    &lt;p align=&quot;center&quot;&gt;&lt;b&gt;&lt;font face=&quot;Century Gothic&quot; color=&quot;#FFFFFF&quot;&gt; &lt;font size=&quot;2&quot;&gt;
  
           Cadastrar nova Operação&#58;  &lt;html&#58;select property=&quot;operacoes.codOperacao&quot;&gt; 
                                        &lt;html&#58;options collection=&quot;listaOperacoes&quot; property=&quot;codOperacao&quot; labelProperty=&quot;descricao&quot; /&gt; 
                                     &lt;/html&#58;select&gt; 
                            
    &lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;
        
    
   &lt;/html&#58;form&gt;
          
    &lt;/body&gt;
&lt;/html&#58;html&gt;
Na linha lista.add da minha action da o seguinte erro que não permite compilação: cannot find Symbol Symbol: method getDescricao() LOcation: class java.util.LinkedList

e o mesmo ocorre com o objeto getCodOperacao

Tambem gostaria de saber como fazer na JSP para que ao selecionar a despesa na lista o usuario nem precise de nenhum
submit e o parametro codOperacao possa ser jogado na sessão e se seria possivel jogar tambem o parametro tipoOperacao
sendo listado para visualização do usuario apenas a descrição e se de resto meu codigo esta certo...

desde já... Obrigado!!

Rodrigo.

L

O único detalhe que percebi foi o seguinte: Você setou no session listaConciliados ou listaDespesas ? Outra coisa, geralmente uso request.setAttribute("…

Vê só:

&lt;html&#58;select property=&quot;cliente&quot;&gt; &lt;html&#58;options collection=&quot;listaDespesas&quot; property=&quot;codLcto&quot; labelProperty=&quot;descricao&quot;/&gt; &lt;/html&#58;select&gt;

L

Olá senhores!

Meu problema é o seguinte: Deixar um desse itens selecionado apartir de um atributo de um bean. Essa é a minha dificuldade.

&lt;html&#58;select property=&quot;situacaoTarefa&quot; value=&quot;3&quot;&gt; &lt;html&#58;options collection=&quot;situacoesTarefa&quot; property=&quot;id&quot; labelProperty=&quot;descricao&quot; /&gt; &lt;/html&#58;select&gt;

Este value=“3” está na marra porém gostaria que você um atributo de um bean. Estou pesquisando bastante mas não estou tendo muito sucesso. Por favor senhores, me ajudem.

Obrigado…

P

cara…no html:select vc faz o seguinte:

esse bean tambem tem q estar no request…

raciocina assim a tag select, vc põe a propriedade selecionada, setando alguem se vc quiser q ja venha preenchida, ou mesmo utilizando o nome q vc der pra recuperar o item selecionado…

na tag html:options é onde vc joga a collection q vai preencher as opções…

espero ter ajudado…

Criado 30 de agosto de 2006
Ultima resposta 14 de nov. de 2006
Respostas 6
Participantes 4