[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Problema com SimpleListData  XML
Forum Index -> Comentários Gerais
Author Message
Paulo Júnior


[Avatar]

Joined: 03/04/2007 15:21:44
Messages: 73
Offline

Olá pessoal.

Estou com uma dúvida: criei uma SimpleListData em minha action e a coloquei no output para ser utilizada na tag <mtw:selectboxes>. O problema é que SimpleListData é um Map e não uma List. Por este motivo eu não estou conseguindo verificar quando a minha SimpleListData está vazia.

Já tentei utilizar as tags:

Code:
<mtw:list...
    <mtw:isEmpty...


Code:
<c:when test="${empty lista}"...


Code:
<mtw:if...


Mas nenhuma delas funciona. Como fazer isto agora?

seria utilizando <% request... %> puro?

Até mais,
Obrigado.
[MSN]
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Tem como usar um IF do metnawai mesmo ???

Testa se size == 0...

Sergio Oliveira

Paulo Júnior


[Avatar]

Joined: 03/04/2007 15:21:44
Messages: 73
Offline

Infelizmente não deu Sérgio. Veja:

Code:
 <mtw:if test="${listaTopicos.size == 0}" negate="true">
                                     <p>Informe o número de questões do seu simulado: </p><mtw:inputText name="numeroDeQuestoes" size="3"/>
                                             <hr>
                                             <p>Selecione os tópicos que deverão entrar em seu simulado:</p>
                                             <br>
                                             <mtw:checkboxes name="topicosSelecionados" list="listaTopicos" useBR="true"/>
                                             <hr>
                                             <input type="submit" class="botao" value="Gerar Simulado">
                                     </mtw:if>
                                     <mtw:if test="${listaTopicos.size == 0}">                                    
                                             <p align="center"><b><mtw:i18n key="listaDeTopicosVazia"/></b></p>
                                     </mtw:if>


Era isto que eu deveria fazer, neh? Então. Mesmo quando a lista está vazia ele continua entrando no IF e aí o resultado é uma página sem nenhum checkbox. Entendeu?

Obrigado pela sugestão.


[MSN]
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Vc está fazendo o if errado...

<mtw:if test="suaLista.size" value="0">

Sergio Oliveira

Paulo Júnior


[Avatar]

Joined: 03/04/2007 15:21:44
Messages: 73
Offline

Opa. Me desculpe. Corrigindo...

Code:
<mtw:if test="${listaTopicos.size}" value="0" negate="true">
                                     <p>Informe o número de questões do seu simulado: </p><mtw:inputText name="numeroDeQuestoes" size="3"/>
                                             <hr>
                                             <p>Selecione os tópicos que deverão entrar em seu simulado:</p>
                                             <br>
                                             <mtw:checkboxes name="topicosSelecionados" list="listaTopicos" useBR="true"/>
                                             <hr>
                                             <input type="submit" class="botao" value="Gerar Simulado">
                                     </mtw:if>
                                     <mtw:if test="listaTopicos.size" value="0">
                                             <p align="center"><b><mtw:i18n key="listaDeTopicosVazia"/></b></p>
                                     </mtw:if>


Aconteceu o mesmo Sérgio.
[MSN]
saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

listaTopicos está no output? com forward? se está deveria funcionar...

Puz... acabei dever que não vai funcionar, porque o método é size() e não getSize()...

Sergio Oliveira

saoj



Joined: 01/07/2005 09:59:17
Messages: 2846
Location: Rio de Janeiro, RJ
Offline

Mete o tamanho da lista no output, é o jeito por enquanto...

Depois com certeza temos que melhorar isso...

Sergio Oliveira

Paulo Júnior


[Avatar]

Joined: 03/04/2007 15:21:44
Messages: 73
Offline

Tá ok.

Muito obrigado pela ajuda.
[MSN]
Paulo Júnior


[Avatar]

Joined: 03/04/2007 15:21:44
Messages: 73
Offline

Me parece que o <mtw:if> só funciona para dados no output. Eu coloquei o atributo "tamanhoDaLista" na sessão e continuou o mesmo problema. Aí eu resolvi o problema com <c:when>

Estou apresentando a solução abaixo para quem estiver com problema semelhante.
Code:
                                     <c:choose>
                                         <c:when test="${tamanhoDaLista > 0}">
                                             <p>Informe o número de questões do seu simulado: </p><mtw:inputText name="numeroDeQuestoes" size="3"/>
                                             <hr>
                                             <p>Selecione os tópicos que deverão entrar em seu simulado:</p>
                                             <br>
                                             <mtw:checkboxes name="topicosSelecionados" list="listaTopicos" useBR="true"/>
                                             <hr>
                                             <input type="submit" class="botao" value="Gerar Simulado">
                                         </c:when>
                                         <c:otherwise>
                                             <p align="center"><b><mtw:i18n key="listaDeTopicosVazia"/></b></p>
                                         </c:otherwise>
                                     </c:choose>
 


E na action:

Code:
        SimpleListData sllistaTopicos = converteListasTopicos(listaTopicos);
         session.setAttribute("tamanhoDaLista", sllistaTopicos.size());
         session.setAttribute("listaTopicos", sllistaTopicos);
 


Até mais.
[MSN]
Jardel


[Avatar]

Joined: 19/10/2009 23:33:57
Messages: 28
Offline

Pessoal, boa tarde!

Estou enviando para a jsp uma lista de objetos.

Este objeto por sua vez possui um atributo que é uma lista, ex:
ListaDeNotasFiscais:
- String numeroNf;
- String pedido;
- SimpleListData listDescricoesMateriais

Code:
 SimpleListData objSldDescricao = new SimpleListData("objSldDescricao");															
      for (Iterator<Object> itDescricoes = objListDescricao.iterator(); itDescricoes.hasNext();) {
 DescricaoNFSaidaBRT descr = (DescricaoNFSaidaBRT) itDescricoes.next();
 						objSldDescricao.add(descr.getCodigo_produto(), "Item "+objItemNotaFiscalSaidaBRT.getNumeroItem()+" - "+descr.getCodigo_produto()+" - Quantidade: "+descr.getQuantidade());				
 					}
 



Na jsp itero a lista de notas fiscais mostrando os campos Strings(numeroNF, pedido) e o combobox com a lista de descrições(listDescricoesMateriais).

Code:
 <mtw:isEmpty test="objSldDescricao" negate="true">
 	    	<td>
 				<mtw:select id="descricao" name="descricao" list="objSldDescricao"/>
 			</td>
 		</mtw:isEmpty>
 



O problema é que quando vou pegar o valor escolhido no select(descricao), não vem apenas um valor que seria o código que preciso, mas uma lista de códigos que não dá pra saber qual foi o escolhido pelo usuario.
Code:
 String[] codigoProduto = input.getStrings("descricao");
 


Alguém já se deparou com um problema parecido e poderia me ajudar?

Obrigado
[Email] [WWW] [Yahoo!] [MSN]
 
Forum Index -> Comentários Gerais
Go to:   
Powered by JForum 2.1.6 © JForum Team