Recentemente trabalhei em um projeto onde utilizamos o Design Responsivo e resolvi tratar desse tema tão importante, e a sua importância se dá não pela tecnologia empregada, mas sim, pelo caminhar do desenvolvimento da Web. Quando falamos em Web a primeira coisa que nos vem a cabeça certamente é um computador e a internet…
Responsive Web Design – RWD
Server-Side ActionScript no Flash Media Server
Poucos sabem mas o Flash Media Server(versão Interactive) possui uma linguagem de servidor chamada Server-Side ActionScript ou ActionScript Communications(extensão .asc). O que permite recurso poderosos em seus aplicativos multimÃdia muito além de um simples streaming.
Server-Side ActionScript é o nome que Adobe deu para o JavaScript 1.5, o Flash Media Server possui uma engine de JavaScript para compilar e executar os scripts.
O Server-Side ActionScript é parecido mas não idêntico ao ActionScript 1.0, mas ambos são baseado no ECMAScript(ECMA-262) edition 3 language specification. O Server-Side ActionScript roda sob a engine SpiderMonkey da Mozilla que consta no Flash Media Server enquanto que o ActionScript 1.0 roda sob o AVM1(ActionScript Virtual Machine 1) no Adobe Flash Player. O SpiderMonkey implementa o totalmente o ECMAScript enquanto que a AVM1 do Flash Player não. A grande diferença entre os dois é que o Server-Side ActionScript é case-sensitive.
Portanto para quem já tem conhecimento de JavaScript, pode reaproveita-lo para usar no Flash Media Server, é possÃvel utilizar a maioria dos recursos e ainda contar com os recursos exclusivos do Flash Media Server.
Vamos os primeiros passos para utilizar o Server-Side ActionScript no Flash Media Server. Uma maneira de testar seus scripts é usando o fms_console localizado no caminho:
INSTALATION FOLDERAdobeFlash Media Server 4.5webrootswfsfms_adminConsole.swf
Se você tiver o Adobe Flash Professional, pode abrir esse arquivo diretamente apenas dando dois cliques, caso contrario, abra pelo navegador. Ao ser aberto, devemos ter uma tela como essa:
Basta entrar com o login e senha que você determinou no momento em que estava instalando o Flash Media Server que deveremos entrar para a seguinte tela:
Esse será seu melhor amigo ao desenvolver aplicativos com Flash/Flex e Flash Media Server. Por padrão, o Flash Media Server lê o seguinte diretorio:
INSTALATION FOLDERAdobeFlash Media Server 4.5applications
Esse caminho pode ser configurado modificando a linha “VHOST.APPSDIR” no seguinte arquivo:
INSTALATION FOLDERAdobeFlash Media Server 4.5conffms.ini
Criaremos um diretorio chamado “teste”, e dentro dele um arquivo chamando “main.asc” com o seguinte conteúdo:
-
// ActionScript Communications Document
-
trace(“init app…”);
Agora no console, carregaremos nossa aplicação criando uma nova instância dela selecionando no combobox:

Na tela seguinte, basta dar um “enter”.

Deveremos ter o resultado do nosso trace na caixa de texto como na imagem:
Uma recomendação que faço é que você limpe a tela antes de executar novamente o script main.asc, basta clicar no botão Clear Log(1) e depois em Reload Application(2):

Alguns exemplos do que pode ser usado com o Server-Side ActionScript
Constantes
-
// ActionScript Communications Document
-
trace(“init app…”);
-
const PI = 3.14;
-
trace(PI);
Expressões Regulares
-
// ActionScript Communications Document
-
trace(“init app…”);
-
myRe = /d(b+)d/g;
-
myArray = myRe.exec(“cdbbdbsbz”);
-
trace(myArray);
Funções
-
// ActionScript Communications Document
-
trace(“init app…”);
-
function teste()
-
-
return “to na funcao o/”;
-
-
trace(teste());
-
-
function factorial(n)
-
-
if ((n == 0)
-
}
-
trace(factorial(5));
Objetos
-
// ActionScript Communications Document
-
trace(“init app…”);
-
var obj = id:“teste”,data:2,status:“ONLINE”,type:“admin”
-
trace(obj);
-
for(s in obj)
-
-
trace(s +” – “+obj[s]);
-
Array
-
// ActionScript Communications Document
-
trace(“init app…”);
-
var arr = ["leo", "carol", "pam", "perla","carlinha"];
-
trace(arr);
-
function removeValueFromArray(arr, value)
-
-
var len = arr.length;
-
-
for(var i = len; i> -1; i–)
-
-
if(arr[i] === value)
-
-
arr.splice(i, 1);
-
-
}
-
return arr;
-
}
-
trace(removeValueFromArray(arr,“pam”));
Aviso importante, use esses recursos SOMENTE em ambiente de desenvolvimento. Em ambiente de produção, você derrubará todo mundo que estiver conectado ? sua aplicação.
![]()
Referência:
Documentação do Adobe Flash Media Server
Combine SEO e CRO para aumentar sua conversão
Muitos lojistas na Internet buscam descobrir qual a estrat?gia mais importante para melhorar suas taxas de convers?o: Search Engine Optimization (SEO) ou Conversion Rate Optimization (CRO). Mas ao contr?rio do se discute, SEO e CRO devem andar de m?os dadas e devem trabalhar juntos para que um site seja bem sucedido.
O que ? CRO?
Voc? reconhece esse termo? Otimiza??o taxa de convers?o (CRO) ? simplesmente focado em convers?o ao otimizar qualquer p?gina particular. Eu, pessoalmente, vejo isso como um desdobramento de Otimiza??o de Landing Page, Landing Page Optimization, (LPO) e ?s vezes ? visto como apenas uma outra maneira de dizer LPO.
Mas o que realmente define Sucesso para o Website?
Convers?o! A inten??o de converter um internauta casual da SERP para um visitante em seu site atrav?s do SEO, e converter esse visitante em um cliente atrav?s do CRO, ? claro que estas estrat?gias est?o intimamente ligadas.

Vamos come?ar pela defini??o das metas mais b?sicas de SEO e CRO. O objetivo do SEO ? conseguir ranking alto nos buscadores para as palavras-chave que mais se aproximam de uma consulta do usu?rio, e o objetivo do CRO ? aumentar o n?mero de visitantes que s?o convertidos em clientes. Estes s?o obviamente, defini??es simplificadas, mas desmonstram a estreita liga??o entre SEO e CRO e o papel que cada uma dessas estrat?gias desempenha para melhorar as taxas de convers?o.
Tanto o SEO e o CRO focam os visitantes do site. SEO quer encontrar perspectivas com base no que e onde eles est?o procurando e proporcionar uma raz?o para visitar o site, e o CRO quer criar a melhor experi?ncia de usu?rio poss?vel quando eles chegam. Para ter sucesso em ambos ? preciso entender a inten??o do usu?rio, o que tamb?m ir? ajudar a determinar a qualidade dos visitantes. Visitantes qualificados s?o muito mais propensos a estar pronto para fazer uma decis?o de compra do que os visitantes n?o qualificados, que s? est?o em busca de informa??es ou at? mesmo n?o tem consci?ncia de por que ele acabou naquela p?gina em especial.
Vamos dar uma olhada em como e por que SEO e CRO podem e devem trabalhar juntos para melhorar as taxas de convers?o.
Integrar SEO e CRO inclui:
- Estrat?gia no uso de palavras-chave. Antes que voc? possa otimizar uma p?gina para melhorar as taxas de convers?o, voc? deve entender a inten??o do visitante, e palavras-chave s?o a maneira mais f?cil e r?pido para obter esse entendimento. Uma p?gina de destino eficaz usa palavras-chave para permitir que os visitantes saibam que est?o no lugar certo, o que torna mais f?cil para eles ver o por que e como fazer uma compra;
- Focar um ?nico produto ou servi?o. Esta estrat?gia vai conseguir rankings melhores nos buscadores e melhores taxas de convers?o. Seus produtos e servi?os n?o devem competir uns com os outros nos buscadores. Mantenha-o simples. Os motores de busca querem saber exatamente o que uma p?gina ? e os visitantes querem encontrar o que procuravam;
- Ter um t?tulo, claro, relevante, atraente e palavras-chave. O t?tulo meta nas SERPs deve coincidir com o t?tulo da p?gina de destino, e devem incluir palavras-chaves e o principal benef?cio do produto;
- Teste. SEO e estrat?gias de CRO devem ser testadas para garantir um fluxo constante de visitantes mais qualificados para uma p?gina de destino mais amig?vel para o usu?rio.
Ao iniciar uma campanha de marketing online, CRO deve vir em primeiro lugar (a menos que seu site n?o esteja recebendo tr?fego suficiente para executar testes v?lidos). Uma vez que a p?gina de destino esteja otimizada para melhorar as taxas de convers?o, voc? pode desenvolver um programa de SEO que continuamente encontra e visitantes qualificados para o site. Pense em CRO como uma a??o de tampar buracos em um balde (website) antes de derramar mais ?gua (tr?fego desejado).
Para encerrar, sem CRO, todo esfor?o de SEO pode ser em v?o se os visitantes tiverem uma experi?ncia negativa quando chegaram no site. Mas sem SEO, CRO te dar? apenas uma p?gina otimizada sem visitantes.
N?o esque?a, para maximizar visitantes, melhorar as taxas de convers?o e aumentar a receita, SEO e CRO devem trabalhar juntos e em harmonia.
N?o est? satisfeito com os resultados atuais de seu Site ou eCommerce? Entre em contato.
Refer?ncias:
Veja mais neste post.
Ele mostra ainda em outro post que o Tour de Flex agora está disponÃvel para iPad.
Mac OS X do Snow para o Lion… lentidão
Um post r?pido para compartilhar algo que pode ser ?til a mais algu?m…
Recentemente fiz o upgrade do meu Macbook Pro do Mac OS X Snow Leopard para o Lion, depois de todas as atualiza??es de software, no uso do dia a dia notei que o Lion estava absurdamente lento, Google Chrome, Mozilla Firefox, o Eclipse (esse estava de chorar e desanimador de t?o lento que estava)
Lendo os blogs, achei 2 dicas que resolveram o problema:
1 – Verificar e reparar as permiss?es de acesso ao HD
Caminho: Finder > Applications > Utilities > Disk Utility
Selecionar o drive que representa o Mac, depois clicar no bot?o: Verify Disk Permissions, esperar finalizar e depois no bot?o: Repair DIsk Permissions
Link do post com as dicas: Speed up Mac OS X Lion
Desde post tamb?m revisei as configura??es do Spotlight.
2 – Limpar os caches
Abrir o Finder > Menu: Go > Go Folder | ou executar o atalho: Shift + Command + G
Digite: ~/Library/Caches
Apague o conte?do deste diret?rio
Caso n?o tenha total seguran?a se deve apagar todos os arquivos e diret?rios, fa?a um backup, copiando o conte?do da pasta para outro diret?rio. Obs.: esse passo n?o ? necess?rio, mas caso queria alguma garantia de o que fazer se algo der errado ter? as c?pias.
Aten??o: alguns diret?rios e arquivos n?o ser?o exclu?dos pois est?o em execu??o, por exemplo, cache referente ao Finder e a alguns outros aplicativos do Mac OS X.
Reinicie seu Mac.
Link do post com a dica: OSX Lion – Clear your caches!
Feito estes procedimentos, os aplicativos e o Mac OS X Lion passou a ter uma performance e resposta aceit?vel, assim como tinha no Mac OS X Snow Leopard.
Veja também:
SharedObject com Flash Media Server
SharedObject é um recurso que dar ao Flash Player a capacidade de salvar dados localmente para poder ser usado posteriormente em sua aplicação, a grosso modo é como um cookie. Com o Flash Media Server, foi introduzido a possibilidade de usar o SharedObject Remote, no qual os dados são salvos no servidor Flash Media Server e compartilhados para todas as instâncias de uma conexão entre o Flash Player e o Flash Media Server. Isso possibilita a criação de aplicativos em real time como Dashboards, chats e o que mais a imaginação permitir.
O uso do SharedObject Remote pode ser usado de duas maneiras em conjunto com o Adobe Flash Media Server.
- Somente pelo lado cliente, através do Flash Player/AIR
- Em conjunto com ActionScript Communication, linguagem de servidor do Flash Media Server
Vejamos o primeiro caso:
Através do lado cliente, através do Flash Player/AIR
Caso você não tenha conhecimento para usar a linguagem Server-side do Flash Media Server, é possÃvel utilizar o SharedObject Remote somente pelo ActionScript 3.0. Vamos a um exemplo clássico sharedBall, onde o objetivo é compartilhar as posições da bolinha a atualizar nos outros clientes conectados a mesma instância.
- Vá até o diretório de instalação do Flash Media Server e procure pela pasta “applications”, lá crie um diretório chamado “sharedBall”, dentro dele um arquivo chamado “main.asc”
- Abra o main.asc no seu editor de textos de preferencia ou pelo próprio Flash e digite: trace(“sharedBall…”);
- Vamos testar esse arquivo, abra o console do Flash Media Server, geralmente fica localizado no diretorio de instalação/webrrot/swfs. Você pode abrir pelo browser ou o swf diretamente.
- Clique no botão “View Applications” e em seguida procure o nome “sharedBall” no combobox logo no canto inferior esquerdo onde está escrito “New Instance…”
- Selecione “sharedBall” e deveremos ter na aba Live Log algo como na imagem abaixo:
- No Flash, criei uma bola com as ferramentas de desenho e converti para MovieClip dando o nome de “mc_ball”.
- Estamos prontos para começar a integração entre o Flash e o Flash Media Server. Crie um layer para o ActionScript e abra o editor apertando F9 ou “Window->Actions”
- Nosso código começa com a conexão com o servidor Flash Media Server
-
-
-
function init():void
-
-
nc.connect(“rtmp://localhost/sharedBall”);
-
-
-
-
trace(evt.info.code);
-
-
-
init();
Feito isso, podemos testar o swf apertando Ctrl+Enter, se tudo correr bem, deveremos ter a seguinte mensagem no output do Flash:
NetConnection.Connect.Success
Com a conexão feita, podemos instanciar o nosso SharedObject Remote para compartilhar as posições de x e y da bolinha.
-
if(evt.info.code == “NetConnection.Connect.Success”)
-
-
so.connect(nc);
-
O handlerSync é responsável por atualizar os dados de x e y pegaremos do SharedObject Remote:
-
-
mc_ball.x = so.data.x;
-
mc_ball.y = so.data.y;
-
Daremos a opção de ao clicar na bolinha, que ela possa ser arrastável, em seguida atualizaremos as posições de x e y no SharedObject Remote:
-
-
-
mc_ball.startDrag();
-
-
-
-
mc_ball.stopDrag();
-
-
-
-
so.setProperty(“x”,mc_ball.x);
-
so.setProperty(“y”,mc_ball.y);
-
Segue o código completo:
-
-
-
function init():void
-
-
nc.connect(“rtmp://localhost/sharedBall”);
-
-
-
{
-
trace(evt.info.code);
-
if(evt.info.code == “NetConnection.Connect.Success”)
-
-
so.connect(nc);
-
-
}
-
-
-
mc_ball.x = so.data.x;
-
mc_ball.y = so.data.y;
-
-
-
-
-
mc_ball.startDrag();
-
-
-
-
mc_ball.stopDrag();
-
-
-
-
so.setProperty(“x”,mc_ball.x);
-
so.setProperty(“y”,mc_ball.y);
-
-
-
init();
Veja uma demostração em funcionamento:
Cacoo – Ferramenta de diagramação colaborativa online
Ontem, estava procurando uma ferramenta para desenhar diagramas, que me desse mais op??es de diagramas e fosse mais flexivel do que todas as demais ferramentas que j? havia utilizado at? o momento. Realizando uma busca no Google acabei encontrando a Cacoo.
Site | Google Chrome Web Store
At? o presente momento, utilizando a ferramenta, gostei da facilidade de uso e da quantidade de elementos gr?ficos dispon?veis para utilizar nos diagramas, est? atendendo bem a minha necessidade de cria??o de diagramas.
Veja também:
Recomendação de Produtos em eCommerce

Sistemas de Recomenda??o procuram recomendar informa??o e produtos (como computadores, m?quinas fotogr?ficas, filmes, videos, m?sicas, livros, p?ginas de internet, etc.) que possam ser de interesse do usu?rio, esses sistemas procuram e identificam padr?es de interesse, perfil e consumo. A partir desses padr?es os sistemas de intelig?ncia artificial geram associa??es entre produtos e consumidores aplicando t?cnicas de filtragem colaborativa.
Sistemas de Recomenda??o processam as informa??es que o usu?rio d? ao site durante a navega??o e entregam dicas de produtos relacionados aos gostos e interesses do consumidor, fazendo parte dos sistemas de Behavioral Targeting, ou Marketing Comportamental.
Por?m s? a utiliza??o de Intelig?ncia Artificial, Filtragem Colaborativa e outras t?cnicas computacionais n?o garantem o aumento de convers?o, pois o consumidor precisa impactado de maneira positiva pelas recomenda??es, a seguir voc? encontrar? dicas e melhores pr?ticas de como direcionar o usu?rio-consumidor para uma melhor compra.
Elementos de uma vitrine

T?tulo
- Utilize cores diferenciadas do layout do site;
- Utilize n?meros: “60% das pessoas” constroi um fator de confian?a na cabe?a do consumidor.
Cores
- Utilize cores contrastantes que d?em destaque para a se??o de recomenda??o. Cuidado para n?o sobrecarregar, a se??o deve parecer como um an?ncio.
Produtos
- Oferece sempre poucas op??es. Apenas 3 ou 4 recomenda??es s?o suficientes.
Chamada para a??o (Call-to-action)
- Se voc? utilizar mais de uma chamada pra a??o, tenha uma como principal com maior destaque dentro da se??o de recomenda??o.
Melhores pr?ticas
Confira as melhores pr?ticas para conseguir um maior ?ndice de convers?o de suas vitrines de recomenda??o.
Menos sempre ? mais

Tente o UpSell, pelo menos o Cross Sell

Exclua Recomenda??es

Descontos funcionam

Senso de urg?ncia

Continue testando

Sua loja utiliza sistemas de recomenda??es de produtos?
Atualizações automáticas silenciosas no Internet Explorer a partir de Janeiro/2012
Uma excelente notÃcia para quem desenvolve para Web: Hoje Ryan Gavin anunciou no blog oficial do Internet Explorer (em inglês) os planos para implementação de atualizações automáticas silenciosas no IE, começando já em janeiro de 2012 no Brasil e Austrália (isso mesmo, Brasil fará parte do piloto).
Essas atualizações ocorrerão, como o próprio nome diz, de forma automática e silenciosa, sem necessidade de nenhuma intervenção do usuário e possivelmente (pele menos é o que esperamos) sem reiniciar o computador. Esse tipo de atualização já é comum para usuários do Google Chrome.
Mesmo sendo automáticas e sem intervenção, ainda será possÃvel optar por não atualizar (há casos de empresas que têm aplicações que dependem de versões especÃficas do browser e não podem simplesmente atualizar), ou mesmo remover a atualização e voltar para a versão anterior, mas o padrão agora será a atualização automática para a última versão.
A atualização será para a última versão disponÃvel na plataforma do usuário, ou seja, usuários do Windows XP receberão o IE8 e usuários do Vista e Windows 7 receberão o IE9 (e IE10, quando for lançado).
Agora é esperar que essa atualização realmente diminua de forma substancial o tamanho da base instalada de IE6 e IE7 (e talvez IE8 também, mas não tanto) para que possamos desenvolver sites e aplicações com mais tranquilidade e menos dores de cabeça, além de ajudar a convencer os clientes de que não será mais tão imprescindÃvel suportar versões tão antigas do browser da Microsoft.
versão traduzida para português do post sobre este anuncio
Multiple Views com Spring Web MVC
Uma das vantagens de utilizar a arquitetura do Spring para implementar projetos Web, é fazer uso do Sprin-WEB-MVC. Quem já usou sabe que isso é uma vantagem a se considerar quando for feita a escolha das tecnologias e frameworks que serão utilizados no projeto.
Spring WEB-MVC é uma abstração poderosa para a camada de apresentação, tornando muito flexÃvel o uso de diferentes tipos de tecnologias no frnt-end da aplicação.
Veremos uma dessas abstrações que ajudam a modularizar e simplificar nosso trabalho do lado do servidor: Views.
Conceito de Views
Toda requisição que segue para o WEB-MVC passa pelo DispatcherServlet do spring. A partir daÃ, o container se responsabiliza por delegar a chamada para o controller correto, baseando-se nas configurações de sua aplicação.
Depois que a chamada é tratada pelo controller, o spring manda a resposta correspondente atrelada a uma View. Uma View é um descritor da forma com que os dados vão ser apresentados na interface, podendo ser JSP, JSF, JSon, XML, etc., ou até mesmo uma forma de encapsular os dados especÃfica da sua aplicação.
O poder das Views está justamente no fato de ser apenas uma descrição de como os dados serão apresentados, portanto desconecta-se completamente da aplicação, e pode ser aproveitada em outras ocasiões por outros sistemas.
Uma View no Spring nada mais é do que uma interface Java que descreve o tipo do conteúdo, e é responsável por renderizar a requisição:
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
/*
* Copyright 2002-2008 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the “License”); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an “AS IS” BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.springframework.web.servlet; import java.util.Map; import javax.servlet.http.HttpServletRequest; /** This class and the MVC approach associated with it is discussed in Chapter 12 of View implementations may differ widely. An obvious implementation would be Views should be beans. They are likely to be instantiated as beans by a ViewResolver. /** Note: This attribute is not required to be supported by all
/** Can be used to check the content type upfront, if not predetermined. /** The first step will be preparing the request: In the JSP case, in case of empty model) } |
Todo o código e JavaDoc está no projeto do Spring.
JSon e XML
Vamos criar um exemplo de controller com duas views diferentes: JSon e XML. JSon e Xml são os formatos mais comuns na Web, por isso vamos ver uma das maneiras de devolvê-las em nossos contrllers.
Não vou entrar no detalhe de como configurar os controllers da sua aplicação para funcionar com o Spring-WEB-MVC, pois não é o intuito deste post, e existe bastante documentação disponÃvel na internet sobre o assunto.
A maneira que escolhi para o exemplo, foi deixar a resposta padrão da servlet como XML, e criar uma alternativa de view em JSon. Você pode configurar como quiser a ordem e o padrão de view da sua aplicação, essa escolha serve apenas para ilustar como lidar com os dois casos.
Comece criando alguma classe de domÃnio para servir de resposta do nosso controller:
|
1
2 3 4 5 6 7 8 9 10 |
Agora vamos criar um Controller para devolver nosso objeto de domÃnio:
|
1
2 3 4 5 6 7 8 9 10 11 12 |
@Controller
public class ExemploController @RequestMapping(“/exemplo/xml”) } |
Agora temos uma servlet que responderá por “
Vamos configurar agora nosso ‘empacotador’ de XML para torná-lo formato padrão da aplicação. No arquivo de beans do Spring crie os seguintes beans:
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
class=“org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter”>
bean=“marshallingHttpMessageConverter” /> > > > |
O que fizemos foi criar um “marshaller” de XML que usa o XStream para converter ‘de’ e ‘para’ XML. Também mapeamos nossa classe de domÃnio para o alias “exemplo”. Feito isso basta criar um bean que representa os conversores de mensagens do Spring, nesse caso ‘messageConverters’, e associar o conversor de XML nele.
Pronto! Agora que temos as configurações necessárias para criar XML, e anotamos nosso método do controller com ‘@ResponseBody’, o padrão do Spring será devolver o XML que representa a entidade de domÃnio criada:
|
1
2 3 |
> |
Para criar a view de JSon agora, vamos fazer de maneira diferente. Comece criando um bean em seu arquivo do Spring que representa a View de JSon:
|
1
2 3 |
class=“org.springframework.web.servlet.view.json.MappingJacksonJsonView”> > |
Note que precisamos da dependência do ‘Jackson’ no classpath do nosso projeto, que está disponÃvel no site do projeto ou até mesmo no repositório do maven.
Agora em nosso controler, vamos adicionar a dependência da view que acabamos de criar, e adicionar o método que tratará a requisição em JSon:
|
1
2 3 4 5 6 7 8 9 10 11 12 13 14 |
Repare que não precisamos da anotação ‘@ResponseBody’, e que ao invés de devolver um ‘Exemplo’ estamos devolvendo o ModelAndView do SpringWEBMVC.
Para que a resposta chegue no formato correto, basta mandar a view de JSon que criamos junto com o ModelAndView, e o objeto de domÃnio. Dessa forma temos a resposta que esperamos:
|
1
2 3 4 |
“response”:
“nome”:”json” } |
Conclusão
Para a moda REST que está tomando força nos últimos tempos, as múltiplas views do Spring é uma ótima ferramenta para fazer parte dessa onda, e ainda prover diferentes maneiras de seu servidor se comunicar com diversos tipos de dispositivos e aplicações clientes, sem comprometer código com regras de negócio.
Espero ter sido útil, e qualquer dúvida, crÃtica ou comentário são sempre bem vindos.
Por @Gust4v0_H4xx0r
















