Ola pessoal.Hoje venho apresentar a voces o spring web flow. Estou trabalhando com ele ha um bom tempo e estou gostando muito. Abaixo segue uma apresentacao sobre spring web flow que explica por alto o seu funcionamento e faz algumas comparacoes com alguns frameworks MVC existentes no mercado.Essa apresentacao mostra tambem um exemplo pratico do uso do web flow, e como fazer testes untarios de fluxos.Para melhor aprendizado, aconselho fazerem o download da aplicacao exemplo e configura-la.Um vez feito isso comece a acompanhar os slides.Segue os passos para configurar a aplicacao exemplo no eclipse.1) Deve-se ter o maven instalado na maquina. Quem nao tiver, clique aqui para aprender a instala-lo. 2) Faca o download da aplicacao exemplo aqui e descompacte-a.3) Abra o prompt do comando (cmd) e va ate a pasta do projeto (onde esta localizado o pom.xml).4) Rode o comando mvn install (na pasta do projeto).5) Rode o comando mvn eclipse:eclipse (na pasta do projeto).6) Abra o eclipse e importe o projeto.Spring Web FlowView more presentations from thiagoprocaci.Tomara que gostem. Abraco. Ola!Aproveitando o embalo do post anterior, neste vou apresentar conceitos do ZK Framework e um exemplo de implementacao (ressaltando os conceitos) atraves de alguns slides. Esta apresentacao trata-se de apenas uma referencia inicial para as pessoas que desejam se aprofundar na tecnologia. A apresentacao esta bem interessante! Vale a pena dar uma olhada!Zk FrameworkView more presentations from thiagoprocaci.Para maiores informacoes: http://www.zkoss.org/Ate! Nesta postagem vamos mostrar como fazer a internacionalizacao de mensagens utilizando JSF. Internacionalizar mensagens e uma maneira de isolar toda a mensageiria de uma aplicacao em arquivos. Desta forma, pode-se definir mensagens em idiomas diferentes em arquivos separados sem que a aplicacao sofra nenhum impacto.Para exemplificar a internacionalizacao com JSF, vamos aproveitar a aplicacao exemplo mostrada na postagem Iniciando com JSF (Tutorial com exemplo pratico).Primeiramente deve-se definir os arquivos com as mensagens. Para isso foi criado um pacote com.sample.messages e la foram colocados dois arquivos com as mensagens da aplicacao (um com mensagens em ingles e outro em portugues).A listagem 1 e 2 mostram como ficaram os arquivos com as mensagens da aplicacao.messages_en_US.properties (mensagens em ingles)portuguese=Portugueseenglish=Englishsave=Savedelete=Deletename=Namenationality=Nationalitytitle=JSFListagem 1messages_pt_BR.properties (mensagens em portugues)portuguese=Portuguesenglish=Inglessave=Salvardelete=Excluirname=Nomenationality=Nacionalidadetitle=JSFListagem 2O pacote com os arquivos de mensagens e ilustrado na figura 1:Figura 1: Pacote mensagensAgora temos que configurar o faces-config.xml para o funcionamento da mensageiria. Para isso basta adicionar o seguinte trecho no faces-config.xml conforme a listagem 3: <application> <resource-bundle> <base-name>com.sample.messages.messages</base-name> <var>msgs</var> </resource-bundle> <locale-config> <default-locale>pt_BR</default-locale> <supported-locale>en_US</supported-locale> </locale-config> <message-bundle> com.sample.messages.messages </message-bundle> </application>Listagem 3Vamos agora criar um controller para gerenciar qual sera o locale (idioma) usado na aplicacao. Esse controller chamaremos de LocaleController e ficara dentro do pacote com.sample.controller do exemplo. A listagem 4 mostra a implementacao do LocaleController.package com.sample.controller;import java.util.Locale;import javax.faces.component.UIViewRoot;import javax.faces.context.FacesContext;public class LocaleController { private Locale currentLocale = new Locale("pt", "BR"); public void englishLocale() { UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot(); currentLocale = Locale.US; viewRoot.setLocale(currentLocale); } public void portugueseLocale() { UIViewRoot viewRoot = FacesContext.getCurrentInstance().getViewRoot(); currentLocale = new Locale("pt", "BR"); viewRoot.setLocale(currentLocale); } public Locale getCurrentLocale() { return currentLocale; }}Listagem 4Vamos tambem definir um managed-bean no faces-config.xml para o LocaleController (listagem 5).<managed-bean> <managed-bean-name>localeController</managed-bean-name> <managed-bean-class> com.sample.controller.LocaleController </managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean>Listagem 5Agora vamos definir a pagina