Comparar Datas usando EL

11 respostas
A

Pessoal,

queria saber se tem como comparar um campo de data com a data atual usando Expression Language? Com a tag c.tld

Tipo assim:

<c:if test="${itens.data == ??????}">

Onde ??? entraria a data atual do sistema???
Tem jeito ou tem que usar scriptes para isso???

11 Respostas

M

a data atual do sistema tu vai ter q antes instancia-la pra depois testar no EL…

A

É!!!
Resolvi no construtor do meu VO, mas ficou a duvida!
O EL iria comparar campos do tipo Date???
Será que ele compara String???
Será??

M

“AndersonAugusto”:

Será que ele compara String???
Será??

Com relação ao que?

A

Se eu tiver duas datas no meu form!!
Será que ve se uma é maior que a outra???
Apenas com o sinal de >

M

“AndersonAugusto”:
Se eu tiver duas datas no meu form!!
Será que ve se uma é maior que a outra???
Apenas com o sinal de >

Não acredito que o > ou < sejam sobrecarregados para suportar tipos Date. :roll: Tu tem que implementar algum método no objeto para fazer uso dele no EL.

T

“matheus”:
“AndersonAugusto”:
Se eu tiver duas datas no meu form!!
Será que ve se uma é maior que a outra???
Apenas com o sinal de >

Não acredito que o > ou < sejam sobrecarregados para suportar tipos Date. :roll: Tu tem que implementar algum método no objeto para fazer uso dele no EL.

matheus onde eu tem material sobre EL?
vc poderia me ajudar?

M

“teofilo”:

matheus onde eu tem material sobre EL?
vc poderia me ajudar?

Segue:

http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSPIntro7.html
http://java.sun.com/developer/EJTechTips/2004/tt0126.html
http://javaalmanac.com/egs/javax.servlet.jsp.jstl.core/uselang.html

S

já precisei fazer isto. Acabei criando uma function e usei a EL para chama-lá.

pesquise por : “el functions”

[]s

M

Bem utilizando Scriptlets você pode utilizar da seguinte forma:

pegando a data atual:&lt;% String dataAtual = new SimpleDateFormat&#40;&quot;yyyy-MM-dd&quot;&#41;.format&#40; new Date&#40;&#41;&#41;;%&gt;

comparando as datas:

itens.data..compareTo&#40;dataAtual&#41;

igual a 0 -> iguais
menor que 0 -> data é vencida
maior que 0 -> data é mior que dataAtual

:okok:

S

ai vai do gosto de cada um.
eu não gosto de usar scriptlet

F

marcossousaPJ obrigado, para mim ajudou.

Criado 26 de julho de 2005
Ultima resposta 11 de fev. de 2011
Respostas 11
Participantes 6