Gente, tudo bem ??
Então, eu to usando o displayTag Lib pra exibir alguns dados vindos do banco. Até aí tudo bem!
O problema é que preciso criar um if para mudar a cor dos dados de uma coluna baseado no seja:
<display:table name="achei" id="tabela">
<display:column property="dataPedido" title="Data do Pedido" style="width:90%;"/>
<display:column title="Estabelecimento" style="width:70%;">
${tabela.estabelecimento.getNome()}
</display:column>
<display:column title="Forma de Pagamento" style="width:70%;">
${tabela.formaPagamento.getNome()}
</display:column>
</display:table>
nessa área do “tabela.estabelecimento.GetNome()” é trazido uma String baseada no id do estabelecimento.
o que eu quero é que dependendo de qual seja o id, a String mude de cor, algo como:
[i]if id == 1
estabelecimento.getNome() seja verde
if id == 2
estabelecimento.getNome() seja vermelho
else
estabelecimento.getNome() seja amarelo[/i]
eu tentei fazer aqui, mas o eclipse fica acusando que ta faltando
")", “}”, e ainda pede pra eu finalizar um try .
mas tudo isso ja está feito, tenho absoluta certeza.
Se alguém puder me dar alguma ajuda indicando o que poderia estar dando errado eu ficaria muito grato 
você pode colocar no decorator um div, um spam ,qualquer coisa do tipo e ai o conteudo, especificando um css desse div ou spam para a cor que vocÊ quer… da uma pesquisada nos decorators do displaytag.
Amigo, ja tentou usar as tags jstl? Acho que ficaria algo comog
<c:if test="${tabela.estabelecimento.getId()} = '1">
<display:column title="Estabelecimento" style="width: 70%; color: #00FF00"> //Cor verde
${tabela.estabelecimento.getNome()}
</display:column>
</c:if>
E depois repete o mesmo pros outros tipos de id e cores 
Abraços,
gente agradeço muito a ajuda…
mas eu tinha entendido as instruções de maneira errada. Ao que parece eu não tenho que mudar a cor da String, mas sim o background da linha inteira. Ou seja, se o id for 1, não é a string que ficará verde mas sim o background da linha inteira (incluindo assim as outras colunas).
Será que dá pra fazer isso com decorator do display tag lib??
Muda apenas o atributo background-color do style da linha em questão.
Da uma olhada ai no site do maujor, tem muita coisa sobre css lá: http://www.maujor.com
Obrigado Rique, mas eu ainda ntenho que fazer o if para que ele mude a cor dependendo do id.
to tentando usar o JSTL como você recomendou mas nao consigo achar os JARS pra baixar…e to meio confuso sobre como usar e tal =/
mas vlw mesmo pela ajuda
Para adicionar a jstl no projeto:
Baixe-as em: http://jstl.java.net/download.html
Depois apenas adicione no topo da sua pagina jsp assim:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Abraços.
Rique, obrigado pela ajuda mas não deu certo
baixei os arquivos corretamente e coloquei a linha como vc indicou. daí tentei fazer aquele teste que vc tinha passado pra ver se dava certo:
<c:if test="${tabela.statusPedido.getId()} = '1'">
<display:column title="Status"style="width: 70%; color: #00FF00">
${tabela.statusPedido.getNome()}
</display:column>
</c:if>
mas aparece o seguinte erro:
exception
org.apache.jasper.JasperException: /moniTransacao.jsp (line: 73, column: 67) The JSP specification requires that an attribute name is preceded by whitespace
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:88)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:164)
org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:153)
org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1236)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1450)
org.apache.jasper.compiler.Parser.parseBody(Parser.java:1662)
org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1002)
org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1274)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1450)
org.apache.jasper.compiler.Parser.parseBody(Parser.java:1662)
org.apache.jasper.compiler.Parser.parseOptionalBody(Parser.java:1002)
org.apache.jasper.compiler.Parser.parseCustomTag(Parser.java:1274)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1450)
org.apache.jasper.compiler.Parser.parse(Parser.java:138)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:239)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:102)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:197)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:372)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:352)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:339)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.14 logs.
Dá um espaço no nome do atributo:
Seu código corrigido:
<display:column title="Status" style="width: 70%; color: #00FF00">
pois é…eu tinha percebido que era isso mesmo 
mas ainda sim o if não funciona. Não da nenhum erro, mas a coluna nao muda de cor. Na verdade a coluna nem é exibida, somente as outras.
Tenta assim:
<c:if test="${tabela.estabelecimento.getId()} == 1">
Também não funcionou =/
continua do mesmo jeito, nem a coluna aparece quando eu coloco esse if.
Cara me perdoa, to meio enrolado com a sintaxe, faz tempo que não uso, mas tenta assim:
<c:if test="${tabela.estabelecimento.getId() == 1}">
Deu CERTO !!! é assim mesmo!!
e imagina cara, vc ta fazendo o favor de tentar me ajudar, não tem que pedir desculpas =D
Muito Obrigado MESMO!! ja tava tentando isso desde ontem!! Muito Obrigado!!
Abraços
Se tu precisa tratar os valores desta coluna o if precisa estar dentro da column
<display:column title="Status"style="width: 70%; color: #00FF00">
<c:if test="${tabela.statusPedido.getId() == 1}">
${tabela.statusPedido.getNome()}
</c:if>
</display:column>
Uma dica é usar o decorator.
http://demo.displaytag.org/displaytag-examples-1.2/example-rowclass.jsp