Formatar dados para view

2 respostas
renanreismartins

Pessoal tudo beleza? gostariam que avaliassem a solução e se possível me indiquem uma solucao mais elegante.

é o seguinte para formatar uma data na view (jsp) posso usar

<fmt:formatDate value="${objeto.data}" pattern="dd/MM/yyyy"/>

onde o atributo data é um objeto da classe java.util.Date.

Mas e no caso onde preciso formatar uma classe que nao tenha uma tag “formatadora”.

É bem feio colocar no meu modelo um método que formata, pois creio que nao é responsabilidade do modelo formatar dados para a view.

Um exemplo real é a classe Period da lib Joda-time.

Tenho uma classe que usa o Period e também um método getPeriodFormatado() para usar pegar a representacao do obj formatado na expression language. ex:

public class DiaDeTrabalho {

   private Period periodo;

   // getter e setter normal

  // metodo para me retornar a string com a repressentacao do obj formatado
  public String getPeriodoFormatado() {
     return new PeriodFormatterBuilder()
               .minimumPrintedDigits(2)
               .appendHours()
               .appendSeparator(":")
               .appendMinutes()
               .appendSeparator(":")
               .appendSeconds()
               .toFormatter()
               .print(du.toPeriod()));
  }

}

na jsp:

${diaDeTrabalho.getPeriodoFormatado}

entao qual a melhor forma ? criar uma tag propria ? tendo em vista que nao quero poluir meu modelo com classes formatadoras.

abraçoss

2 Respostas

G

pq refazer uma coisa q ja esta pronta ?

renanreismartins

pq está mal feito, nao eh responsabilidade do model formatar dados para view.

alguma sugestao ?

Criado 14 de abril de 2009
Ultima resposta 15 de abr. de 2009
Respostas 2
Participantes 2