DisplayTag

tenho o codigo abaixo

[code]<%@ taglib uri="/WEB-INF/displaytag-11.tld" prefix=“display” %>
<%@ page contentType=“text/html” language=“java”
import=“java.sql., java.util., org.apache.commons.beanutils.RowSetDynaClass”%>

<jsp:useBean id=“con” class=“conexao.Conexao”/>

GRID: <% try { con.busca_prog();
       ResultSet temp = con.getResultado();
        
		
	RowSetDynaClass resultSet = new RowSetDynaClass(temp, false);
        request.setAttribute("results", resultSet);
		
		         
 
  } catch (Exception e) { 
     e.printStackTrace(); 
  }
  	  
  %>     
[/code]

e está me aparecendo os dados do select em forma de tabela - td blz
mas li sobre essa displaytag e pro meu caso eu teria q fazer umas verificações antes de atribuir o valor pra coluna.
li que ao fazer um new testlist ele chama um class e esse class chama um listobject. penso eu que devo fazer a mesma coisa.
criar uma classe teste e depois uma classe listobject, onde nesta faço as verificações necessarias antes de atribuir o valor pra coluna.
por exemplo … determinado valor exemplo 5 deve aparecer na coluna 3.
isso ocorre na forma de GetXXXXX( get e nome da coluna), isso informada no setProperty neh??

ou posso atribuir o valor da pra uma lista e depois atribuir essa lista pro displaytag, porem li q naum eh recomendado, o melhor eh usar o getXXX.

uma duvida, pelo q entendi ele cria 2 arrays um pras linhas e outro pras colunas, eh isso mesmo??

alguem q usou essa displaytag, poderia me ajudar.
to meio q tateando as formas d usar ela, e qual seria a certa q responderia as minhas necessidades.
vlw, daniel baldo.

Alguem poderia me ajudar a entender o modo de funcionamento dessa DisplayTAG??

ESTOU PRECISANDO URGENTEMENTE SABER COMO FUNCIONA PRA EU SABER SE ELA RESPONDE AS MINHAS NECESSIDADES.
VLW DANIEL.

Voce pode ser mais claro com a sua duvida? Nao tou conseguindo entender direito o que vc quer fazer… :?

eu vi um exemplo onde tem dois beans.

no JSP o exemplo tinha o comando new testList
e esse testlist tem dentro dele um new listObject.
poderia eu usar isso tb? quero colocar tal valor em tal coluna eu teria como fazer isso? usando esse raciocínio?
passar atravez d bean os valores pro grid.

segue abaixo os 2 bean;

TestList

[code]// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: TestList.java

package org.displaytag.sample;

import java.util.ArrayList;
import java.util.Random;

// Referenced classes of package org.displaytag.sample:
// ListObject

public class TestList extends ArrayList
{

public TestList()
{
    for(int j = 0; j < 60; j++)
        add(new ListObject());

}

public TestList(int size, boolean duplicates)
{
    if(duplicates)
    {
        for(int j = 0; j < size; j++)
        {
            ListObject object1 = new ListObject();
            ListObject object2 = new ListObject();
            ListObject object3 = new ListObject();
            int random = (new Random()).nextInt(3);
            for(int k = 0; k <= random; k++)
                add(object1);

            object1.setId(object2.getId());
            random = (new Random()).nextInt(3);
            for(int k = 0; k <= random; k++)
            {
                add(object1);
                add(object2);
            }

            object1.setEmail(object3.getEmail());
            random = (new Random()).nextInt(3);
            for(int k = 0; k <= random; k++)
                add(object1);

        }

    } else
    {
        for(int j = 0; j < size; j++)
            add(new ListObject());

    }
}

public ListObject getItem(int index)
{
    return (ListObject)super.get(index);
}

private static final long serialVersionUID = 0xd1597a17a6L;

}
[/code]

e o ListObject

[code]// Decompiled by Jad v1.5.8f. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: ListObject.java

package org.displaytag.sample;

import java.util.*;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

// Referenced classes of package org.displaytag.sample:
// RandomSampleUtil

public class ListObject
{
public static class SubListItem
{

    public String getName()
    {
        return itemName;
    }

    public String getEmail()
    {
        return itemEmail;
    }

    public String toString()
    {
        return (new ToStringBuilder(this, ToStringStyle.SIMPLE_STYLE)).append("name", itemName).append("email", itemEmail).toString();
    }

    private String itemName;
    private String itemEmail;

    public SubListItem()
    {
        itemName = RandomSampleUtil.getRandomWord();
        itemEmail = RandomSampleUtil.getRandomEmail();
    }
}


public ListObject()
{
    id = -1;
    id = random.nextInt(0x1869e) + 1;
    money = (random.nextInt(0xf423e) + 1) / 100;
    String firstName = RandomSampleUtil.getRandomWord();
    String lastName = RandomSampleUtil.getRandomWord();
    name = StringUtils.capitalize(firstName) + ' ' + StringUtils.capitalize(lastName);
    email = firstName + '-' + lastName + '@' + RandomSampleUtil.getRandomWord() + ".com";
    date = RandomSampleUtil.getRandomDate();
    description = RandomSampleUtil.getRandomWord() + ' ' + RandomSampleUtil.getRandomWord() + "...";
    longDescription = RandomSampleUtil.getRandomSentence(10);
    status = RandomSampleUtil.getRandomWord().toUpperCase();
    subList = new ArrayList();
    subList.add(new SubListItem());
    subList.add(new SubListItem());
    subList.add(new SubListItem());
    url = "http://www." + lastName + ".org/";
}

public int getId()
{
    return id;
}

public void setId(int value)
{
    id = value;
}

public String getName()
{
    return name;
}

public String getEmail()
{
    return email;
}

public void setEmail(String value)
{
    email = value;
}

public Date getDate()
{
    return (Date)date.clone();
}

public double getMoney()
{
    return money;
}

public String getDescription()
{
    return description;
}

public String getLongDescription()
{
    return longDescription;
}

public String getStatus()
{
    return status;
}

public String getUrl()
{
    return url;
}

public String getNullValue()
{
    return null;
}

public String toString()
{
    return "ListObject(" + id + ")";
}

public String toDetailedString()
{
    return "ID:          " + id + "\n" + "Name:        " + name + "\n" + "Email:       " + email + "\n" + "Date:        " + date + "\n" + "Money:       " + money + "\n" + "Description: " + description + "\n" + "Status:      " + status + "\n" + "URL:         " + url + "\n";
}

public List getSubList()
{
    return subList;
}

private static Random random = new Random();
private int id;
private String name;
private String email;
private Date date;
private double money;
private String description;
private String longDescription;
private String status;
private String url;
private List subList;

}
[/code]

Cara,

Se eu entendi sua pergunta, você quer pegar os valores de um objeto (ou objetos) que estão dentro dos objetos que estão na lista que você entrega a DisplayTag para que ela mostre (UFA!)… é isso??

Se é assim, você pode fazer algo parecido com isso:

<display:table name="suaList" id="currentObj" width="100%" pagesize="10">

Isto te devolve o objeto corrente em “currentObj”… aí, vc pode manipulá-lo como quiser.

Mas vai uma dica aí qdo for postar dúvidas: menos código e mais explicação :wink:

Senão a galera não entende… :thumbup:

Abraços,
Guile

eu to apanhando pra fazer uma bean ond esta faça um select e jogue os dados pro array e este array por sua vez passe os dados pro grid.
os dados passam do array pro grid atravez do property=“email” entao a display faz um get da minha coluna, isso ou estou errado??

bah ficaria mto contente caso alguem pudesse me ajudar.
vlw daniel. :?

to precisando d uma ajuda urgente!!!
naum to conseguindo criar uma classe com um array e fazer com q este passe os dados pra displaytag.

HELP ME!!!

[quote=dbaldo]to precisando d uma ajuda urgente!!!
naum to conseguindo criar uma classe com um array e fazer com q este passe os dados pra displaytag.

HELP ME!!![/quote]

Na boa: ficar postando a cada dois minutos enchendo o saco do pessoal nao vai resultar em mais respostas ou respostas mais rapidas. Muito pelo contrario. Eu quando vejo esse tipo de post dou um CTRL+W direto. Todos respondem quando podem no seu tempo livre. Se ninguem respondeu ainda tua duvida, aguarde ou pague uma consultoria. Nao leve a mal - eh soh um toque.

Marcio Kuchma