Mensagens enviadas por: Cristiano de Barros
Índice dos Fóruns » Perfil de Cristiano de Barros » Mensagens enviadas por Cristiano de Barros
Autor Mensagem
Olá,

Infelizmente isto que você deseja fazer não é possível.
Porém, com a anotação @Enumerated, você pode escolher entre duas maneiras de armazenamento no banco, cada uma com seu prós e contras:

@Enumerated(EnumType.STRING)
Grava o nome do enum no banco de dados. No seu exemplo seriam persistidos os valores AVISTA, PRAZO, etc.
A vantagem deste é que você pode trocar a ordem dos enums a qualquer momento e sua aplicação continuará funcionando sem problemas, e a desvantagem é que você não poderá mexer nos nomes.

@Enumerated(EnumType.ORDINAL) (Que é o default)
Grava a ordem do enum no banco de dados. No seu exemplo seriam persistidos os valores 0 para AVISTA, 1 para PRAZO, etc.
A vantagem deste em relação ao anterior, é que você pode renomear os enums a qualquer momento e sua aplicação continuará funcionando sem problemas, porém desta maneira você não poderá mudar a ordem dos enums.

Seja qual for a maneira escolhida, não é tão problemático criar um novo valor para um enum, desde que você respeite a forma que está sendo persistido no banco de dados.

Espero ter ajudado!
Abraço
Achei uma pena ele ter tomado a decisão de não suportar sobrecarga em sua linguagem.
Infelizmente esta é uma limitação que existe no JSF, não é possivel chamar métodos nas expressões EL.
A única maneira que conheço para driblar esta limitação, é como eu sugeri acima.
Como o JSF acessa os atributos pelos getters, você pode "enganar" ele, e criar um método "isMatriculaValida" que retorne um valor boolean, sem que exista um atributo "matriculaValida". Só que na hora de utilizar, no seu rendered, você colocaria "#{usuarioController.matriculaValida}", entendeu?
Perceba que não estou dizendo para você criar um atributo, e sim criar somente o método.

Qualquer coisa posta aí.
Bom dia!

O JSF acessa os atributos pelos getters e setters, logo se você colocar o nome do atributo como "matriculaValida", ele irá buscar o valor através de um método "isMatriculaValida", mesmo que este atributo não exista.

Ficaria assim:


Melhorando e removendo as comparações com true e false, que são desnecessárias:


Espero ter ajudado!
Teria como fazer sim, existem bibliotecas para realizar requisições web, um exemplo é a HttpClient da Apache.
Com ela, você pode realizar requisições para a URL do seu servlet, adicionar parâmetros a sua requisição, receber a resposta, tudo de maneira simples.
A única questão que faltou, é a realização desta chamada em intervalos de tempo de 10 minutos, para esta questão você pode utilizar a classe Timer (java.util.Timer), que o próprio java lhe oferece.

Espero ter ajudado!
Bom dia!

Eu acredito que seria interessante realizar estes testes em uma outra classe que não fosse um servlet, pois a função de um servlet é, basicamente, receber requisições e produzir suas respostas. A idéia de um servlet chamar a si mesmo em um intervalo de tempo é bastante estranha.
Além disto, se você realizar estes testes em uma classe separada, você evitará a criação de uma classe faz-de-tudo, e estará dividindo as responsabilidades entre as classes, o que é essencial na orientação a objetos.

Espero ter ajudado!
marcosalex wrote:
Ao JSF. O facelets do JSF 1.2 também faz isso ou é só o do JSF 2.0?
Valeu pelos links.

Se você adicionar o Facelets na sua aplicação, ele irá funcionar da mesma maneira sim.
O detalhe é que nas versões anteriores ao JSF 2.0, o Facelets não está incorporado ao JSF. Portanto, para utilizá-lo, é necessário baixar seu jar, adicionar ele na sua aplicação e configurar corretamente o faces-config.xml.
Já na versão 2.0 não é necessário baixar nem configurar nada para que ele seja utilizado.
marcosalex wrote:Pelo que eu sei, no JSF 1.2 ele nada mais é que usar o JSTL pra criar tags novas, tanto que no Netbeans eu consigo ver o JSP gerado pela minha página, que obviamente é mais complexo do que se eu usasse o JSP direto.

Desculpe, quando você utiliza a palavra "ele", você está se referindo ao que? Ao próprio JSF? Ao Facelets?

marcosalex wrote:Pelo que você falou, o JSF 2 não gera um JSP e não usa o mecanismo do Java pra JSP/Servlets?

Ele não utiliza o mecanismo de JSP/Servlets, pois este mecanismo é voltado basicamente a gerar conteúdo dinâmico, enquanto o JSF utiliza toda uma árvore de componentes, que podem ser renderizados em fases diferentes, e tem um ciclo de vida mais complexo. O Facelets foi criado pensando no modelo baseado em componentes do JSF, por isso ele ofererece uma melhor integração, uma série de vantagens e uma performance em torno de 30% a 50% melhor que o JSP.

Abaixo alguns links que mostram por que o JSP não se "encaixa" muito bem com o JSF, e mostram também, as vantagens do Facelets em relação ao mesmo:
http://www.springwebdevelopment.com/jsf-and-facelets
http://www.ibm.com/developerworks/java/library/j-facelets/
Luciano_Lopes wrote:Deixa ver se entendi, o prime por padrão trabalha com jsf, para eu usar em jsp tenho que criar um projeto usando jsf, é isso?


O PrimeFaces trabalha com JSF.
O JSF utiliza um mecanismo chamado ViewHandler, que pode ser o JSP.
Se você for utilizar JSF em uma versão anterior ao 2.0, o view handler padrão é o JSP, ou seja basta você criar um projeto JSF e dentro dele criar uma página JSP.
A partir da versão 2.0 o view handler padrão passou a ser o Facelets que utiliza as extensões XHTML ou JSPX, logo, com o JSF 2.0 você terá que trabalhar seguindo as regras do Facelets.
lazaropj wrote:Tem sim...
é só importar pro JSP



Uma coisa é você utilizar o JSP (ao invés de Facelets) como view handler no JSF. Aí é lógico que é possível, pois está sendo usado JSF.
Agora, o que eu acredito que o colega esteja querendo saber, é se é possível utilizar o PrimeFaces sem utilizar JSF.
Este caso já não é possível, pois como o colega adriano_si falou, o PrimeFaces trabalha em cima do JSF.

Abraço
sulito wrote:"""Pessoal, vamos todos voltar no assembly, é mais rapido .......................... """ ------> foi uma brincadeirinha.


Sem problemas

Só para explicar melhor, eu não quis dizer que devemos utilizar linguagens de baixo nível para ficar mais rápido, muito pelo contrário.
Eu fiz uma comparação com as linguagens de programação somente para ilustrar a situação de que é difícil haver um ganho, sem que haja perda em algum outro ponto. O próprio Java que utilizamos hoje em dia, quando surgiu era criticado por ser lento. É lógico que o java foi otimizado, só que os computadores também evoluíram e compensaram esta perda.
Eu gosto muito do JSF, e acho sua produtividade excelente. Se o hardware do cliente for bom, prefiro com certeza o JSF.
Só que reconheço que se o cliente me solicitar um software com performance e possuir um hardware restrito, o JSF não atenderá as necessidades dele.
Então cabe a nós analisarmos cada situação e adotarmos o que julgarmos melhor.

Abraço
Luciano_Lopes wrote:Não existem nenhuma forma de usar o prime no jsp?Não gosto de usar jquery não, fico meio perdido, não tenho experiencia na aprte de design


O PrimeFaces é uma biblioteca de componentes para o JSF, logo você só conseguirá utilizar esta biblioteca ao utilizar JSF.

Abraço
Boa noite.

Acredito que a resposta seja um depende também.
Em minha opinião, o JSF tem uma produtividade muito superior ao JSP pela série de recursos extras que ele possui.
Porém todos estes recursos possuem um custo, e isso é normal, cabe a você pesar o que vale mais a pena em cada caso.
Para fazer uma comparação, você pode pensar da seguinte maneira:
As linguagens de mais baixo nível são as que possuem os melhores desempenhos. Porém todos nós utilizamos linguagens de alto nível, que possuem inúmeros recursos extras e facilitam a nossa vida. Note que isto gera um custo de desempenho também, mas a produtividade aumenta absurdamente.
Então eu acredito que cabe a nós desenvolvedores avaliarmos quando é possível utilizar ou não, pois todos os dois tem suas vantagens e desvantagens.

Quero deixar claro que isto é apenas minha opinião. Não gosto de guerra de frameworks/linguagens.
Abraço.
Parabéns
Ficou muito bom!!!

Abraço
Olá

Uma vez eu vi uma maneira no mínimo curiosa que alguns utilizam para fazer isso.
Você pode ter uma imagem de 1 pixel no seu e-mail, que vai solicitar algo para um servlet seu passando um id único na url, este id você teria que controlar para que ele represente um e-mail que você mandou.
Quando a imagem for solicitada ao servidor (quando o e-mail for aberto), basta você recuperar o id que foi passado na requisição e registrá-lo, assim você conseguirá saber se o e-mail foi aberto.
Contudo, a maioria dos páginas de e-mail, como gmail e hotmail, bloqueiam imagens de e-mails não confiáveis, então não é um método 100% garantido, a não ser que o seu e-mail esteja na white list da pessoa que você mandou.

Abraço
 
Índice dos Fóruns » Perfil de Cristiano de Barros » Mensagens enviadas por Cristiano de Barros
Ir para:   
Powered by JForum 2.1.8 © JForum Team