﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Handerson Frota - WEB2.0 &#187; SESSÃO</title>
	<atom:link href="http://www.handersonfrota.com.br/tag/sessao/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.handersonfrota.com.br</link>
	<description>Handerson Frota, Blog sobre tecnologias WEB2.0 e JAVA</description>
	<lastBuildDate>Tue, 12 Jan 2010 13:03:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Criando uma lista na sessão com DWR &#8211; Parte 4</title>
		<link>http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-4/</link>
		<comments>http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-4/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 20:22:52 +0000</pubDate>
		<dc:creator>Handerson Frota</dc:creator>
				<category><![CDATA[DWR]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[SESSÃO]]></category>

		<guid isPermaLink="false">http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-4/</guid>
		<description><![CDATA[Dando continuidade nossa série de artigos vamos ver nesta penúltima parte como implementar no lado JavaScript a nossa funcionalidade. No artigo anterior vimos os métodos que iremos utilizar. Alterando o session.js Vamos ver logo abaixo as funções em JavaScript para cada método Java que criamos. Função que adiciona o objeto na sessão: function addValue() { [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.handersonfrota.com.br%2Fcriando-uma-lista-na-sessao-com-dwr-parte-4%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.handersonfrota.com.br%2Fcriando-uma-lista-na-sessao-com-dwr-parte-4%2F&amp;source=handersonbf&amp;style=normal&amp;service=TinyURL.com" height="61" width="50" /><br />
			</a>
		</div>
<p>Dando continuidade nossa <a href="http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-1/" target="_blank">série</a> <a href="http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-2/" target="_blank">de</a> <a href="http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-3/">artigos</a> vamos ver nesta penúltima parte como implementar no lado JavaScript a nossa funcionalidade. No artigo <a href="http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-3/" target="_blank">anterior</a> vimos os métodos que iremos utilizar.</p>
<p><strong><br />
Alterando o session.js</strong><br />
Vamos ver logo abaixo as funções em JavaScript para cada método Java que criamos.</p>
<p><strong> Função que adiciona o objeto na sessão:</strong></p>
<pre name="code" class="javascript">function addValue()
{

	var bean = DWRUtil.getValues("formCreateMapSession");//01
	FacadeAjaxSession.addMapSession(bean,{

		callback:function(){

			DWRUtil.setValue("msgSession", "Value add !");//02
			listMap();//03

		},
		errorHandler:function(errorString, e){
			DWRUtil.setValue("msgSession", errorString);
		},

timeout:50000

}

);}</pre>
<p><em><strong>Listagem 06:</strong> Função que pega os valores do formulário e envia para a classe Java para ser adicionado em um Map que será adicionado na Sessão.</em></p>
<p><strong> 01:</strong>Com o getValues recuperamos todos os dados contidos no formulário e criamos um objeto JS,que será convertido em um BeanSession(<a href="http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-2/#listagem01">ver listagem 01</a>);</p>
<p><strong>02:</strong>Após executar o método addMapSession(<a href="http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-3/#listagem03">ver listagem 03</a>), no seu retorno envia uma mensagem com o setValue de sucesso. <strong>03:</strong>Executa a função que monta a lista(ver adiante)</p>
<p><strong>Função que cria a grid(tabela):</strong></p>
<pre name="code" class="javascript">function listMap(){

FacadeAjaxSession.listMapSession({

 callback:function(map){
DWRUtil.removeAllRows("mapList");

        var cellFuncs = [
			function(bean) { return bean.keyMap; },
 			function(bean) { return bean.id; },
 			function(bean) { return bean.name; }

		];

DWRUtil.addRows( "mapList", map, cellFuncs, {
	rowCreator:function(options) {
	 	row = document.createElement("tr");
	 	row.id = options.rowData.keyMap;
	 	row.style.cursor = "pointer";

		if(validateBrowser()){
	 		row.attachEvent("onmouseover", function(e){changeto(e, '#ff0000')});
	 		row.attachEvent("onmouseout", function(e){changeback(e, '')});
	 		row.attachEvent("onclick", function(e){removeValue(this.id)});
	 	}else{
	 		row.addEventListener("mouseover", function(e){changeto(e, '#ff0000')}, false);
	 		row.addEventListener("mouseout", function(e){changeback(e, '')}, false);
 			row.addEventListener("click",function(e){removeValue(this.id)},true);
 		}
	 	return row;
	 },
	cellCreator:function(options) {
		 	var td = document.createElement("td");
	 	return td;
	}

});

},

errorHandler:function(errorString, e){
    DWRUtil.setValue("msgSession", errorString);
},
timeout:50000
});

}</pre>
<p><em><strong>Listagem 07: </strong>Função que monta uma grid(tabela) com os dados que estão salvos na sessão.</em></p>
<p>Na listagem 07 vou explicar apenas o que está contido dentro do rowCreator pois o resto do código já foram explicados em vários outros <a href="http://www.handersonfrota.com.br/artigos-tutoriais/dwr/" target="_blank">artigos anteriores</a>.</p>
<p><strong>Então vamos focar no seguinte trecho:</strong></p>
<pre name="code"  class="javascript">rowCreator:function(options) {

	row = document.createElement("tr");
	row.id = options.rowData.keyMap;//01
...
	if(validateBrowser()){
		row.attachEvent("onclick", function(e){removeValue(this.id)});//02
	}else{
		row.addEventListener("click",function(e){removeValue(this.id)},true);//02
	}
	return row;</pre>
<p><em><strong>Listagem 08: </strong>Trecho retirado da listagem 07.</em></p>
<p><strong>01: </strong>Através do parâmetro do <em>rowCreator(rowCreator:function(parametro))</em> iremos pegar a propriedade do nosso BeanSession(<a href="http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-2/#listagem01">ver listagem 01</a>) keyMap, que contém um determinado valor que identifica o objeto dentro do Map(<a href="http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-3/#listagem03">ver listagem 03</a>), e que vai identificar a linha que esse objeto será exibido. Adiciono esse valor ao id da minha linha gerando mais ou menos o código abaixo:<br />
Ex: &lt; tr id=&#8221;keyMap&#8221; /&gt;</p>
<p><strong>02: </strong>Montamos agora um evento adicionando o removeValue(será mostrado mais a frente) e com ele adicionando o id de cada linha que criamos. Isso é feito para o IE como para a família MOZILLA.</p>
<p><strong>Função que exclui o objeto da sessão:</strong></p>
<pre  name="code" class="javascript">function removeValue(key){

 var bean = { keyMap:key };

FacadeAjaxSession.removeValueMap(bean,{

 callback:function(){
 	DWRUtil.setValue("msgSession", "Remove success !");
 	listMap();
  },
	errorHandler:function(errorString, e){
		DWRUtil.setValue("msgSession", errorString);
	},
	timeout:50000
 });
}</pre>
<p><em><strong>Listagem 09: </strong>Função que exclui o objeto da sessão.</em></p>
<p>Bem como vocês podem observar não tem muito o que explicar aqui, ele recebe a chave(keyMap) e adiciona em um objetoJS que será convertido para o BeanSession(<a href="http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-2/#listagem01">ver listagem 01</a>).<br />
Ele vai verificar essa chave e excluir do Map(<a href="http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-3/#listagem05">ver listagem 05</a>).</p>
<p>Lembrando que os dados que serão inseridos da sessão podem ser: HashMaps(no caso do nosso exemplo), Array, ArrayList, List, Collection etc. Os dados contidos nessas listas podem ser qualquer objetos e claro se forem objetos criados por você(objetos fora da Api padrão: String, Integer etc) é só mapear no dwr.xml que o DWR vai enxergar seu objeto. <strong> </strong></p>
<p>No próximo artigo iremos ver o código HTML deste exemplo.</p>
<p>Arquivos para baixar: <a href="http://www.handersonfrota.com.br/artigos/dwr/session/session.js">session.js</a>, <a href="http://www.handersonfrota.com.br/artigos/dwr/session/FacadeAjaxSession.java">FacadeAjaxSession.java</a></p>
<p>Abraços</p>
]]></content:encoded>
			<wfw:commentRss>http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Criando uma lista na sessão com DWR &#8211; Parte 3</title>
		<link>http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-3/</link>
		<comments>http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-3/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 10:34:41 +0000</pubDate>
		<dc:creator>Handerson Frota</dc:creator>
				<category><![CDATA[DWR]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[SESSÃO]]></category>

		<guid isPermaLink="false">http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-3/</guid>
		<description><![CDATA[Na parte 3 do nosso artigo vamos ver que tipos de métodos iremos criar no nosso FacadeAjaxSession explicado no artigo anterior. Agora veremos os trechos dos novos métodos: Método para adicionar um objeto na sessão: public void addMapSession(BeanSession beanSession){ Session session = new SessionFacade();//01 Map&#60;String, BeanSession&#62; sessionMap = null;//02 if(session.getAttribute("sessionMap") != null){ //03 sessionMap = [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.handersonfrota.com.br%2Fcriando-uma-lista-na-sessao-com-dwr-parte-3%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.handersonfrota.com.br%2Fcriando-uma-lista-na-sessao-com-dwr-parte-3%2F&amp;source=handersonbf&amp;style=normal&amp;service=TinyURL.com" height="61" width="50" /><br />
			</a>
		</div>
<p>Na parte 3 do nosso artigo vamos ver que tipos de métodos iremos criar no nosso FacadeAjaxSession explicado no artigo <a href="http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-2/" target="_blank">anterior</a>.</p>
<p>Agora veremos os trechos dos novos métodos:</p>
<p><strong>Método para adicionar um objeto na sessão:</strong></p>
<pre  name="code" class="java">public void addMapSession(BeanSession beanSession){
Session session = new SessionFacade();//01
Map&lt;String, BeanSession&gt; sessionMap = null;//02

if(session.getAttribute("sessionMap") != null){ //03
sessionMap = (Map) session.getAttribute("sessionMap");//04
}else{
sessionMap = new HashMap&lt;String, BeanSession&gt;();//05
}
String keyMap = beanSession.getId() + "_" +  beanSession.getName();//06

beanSession.setKeyMap(keyMap); //07

sessionMap.put(keyMap, beanSession); //08

session.setAttribute("sessionMap", sessionMap); //09
}</pre>
<p><a title="listagem03" name="listagem03"></a><em><strong>Listagem 03: </strong>Método que adiciona em um atributo da sessão o objeto passado como parâmetro.</em></p>
<p>Na listagem 03 vimos o método addMapSession() que espera como parâmetro um BeanSession(ver listagem 01), veja baixo:</p>
<p><strong>01:</strong>Criamos o objeto session a partir de nossa classe SessionFacade;<br />
<strong> 02:</strong>Criamos um Map(sessionMap);<br />
<strong> 03: </strong>Recuperamos da sessão o atributo utilizado, e verificamos se o mesmo já existe;<br />
<strong> 04:</strong>Caso o Atributo exista(linha 03) pegamos o valor desse atributo e adicionamos no Map(sessionMap);<br />
<strong> 05:</strong>Caso o atributo não exista inicializamos o sessionMap;<br />
<strong> 06:</strong>Criamos uma variável que servirá como identificador do objeto, que será utilizado no lado JavaScript para identificar o objeto que o usuário está clicando. OS: Como não estou utilizando dados de um banco, tive que fazer essa “adaptação” para simular o id. O que eu fiz foi nada mais que garantir que o objeto que estou inserindo neste momento não terá o mesmo id do próximo;<br />
<strong> 07:</strong>Adiciono esse keyMap(identifica o mapa, linha 06) no meu BeanSession;<br />
<strong> 08:</strong>Adiciono no sessionMap a chave do meu mapa(keyMap) e o meu objeto(BeanSession).</p>
<p><strong>Método para listar um objeto na sessão:</strong></p>
<pre  name="code" class="java">public Map listMapSession() throws Throwable {
Session session = new SessionFacade();
Map&lt;String, BeanSession&gt; sessionMap = null;

if (session.getAttribute("sessionMap") != null) {
sessionMap = (Map) session.getAttribute("sessionMap");
} else {
sessionMap = new HashMap&lt;String, BeanSession&gt;();
}

return sessionMap;
}</pre>
<p><a title="listagem04" name="listagem04"></a><em><strong>Listagem 04: </strong>Método que retorna um Map da sessão.</em></p>
<p>Este método dispensa explicação mais detalhada, ele apenas retorna um Map que está salvo em um determinado atributo na sessão.</p>
<p><strong>Método para excluir um objeto da sessão:</strong></p>
<pre  name="code" class="java">public void removeValueMap(BeanSession beanSession) throws Throwable {
Session session = new SessionFacade();
Map sessionMap = null;

if (session.getAttribute("sessionMap") != null) {
sessionMap = (Map) session.getAttribute("sessionMap");
} else {
sessionMap = new HashMap&lt;String, BeanSession&gt;();
}

if (sessionMap.containsKey(beanSession.getKeyMap())) {
sessionMap.remove(beanSession.getKeyMap());
}

session.setAttribute("sessionMap", sessionMap);
}</pre>
<p><a title="listagem05" name="listagem05"></a><em><strong>Listagem 05:</strong> Método que exclui o objeto passado como parâmetro da sessão.</em></p>
<p>Um método também bem simples. Recebe o objeto como parâmetro, recupera o valor da sessão, verifica se existe um objeto no Map através da chave (keyMap), caso exista ele remove o objeto do Map e adiciona novamente o Map na sessão.</p>
<p>São métodos simples e claro precisam de mais alguns requintes, mas, esse não é o objetivo do nosso artigo. Quero apenas exemplificar essa funcionalidade.</p>
<p>No próximo artigo(parte 4)  iremos ver a implementação no lado JavaScript.</p>
<p>Abraços</p>
]]></content:encoded>
			<wfw:commentRss>http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-3/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Criando uma lista na sessão com DWR &#8211; Parte 2</title>
		<link>http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-2/</link>
		<comments>http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-2/#comments</comments>
		<pubDate>Sun, 16 Dec 2007 19:16:15 +0000</pubDate>
		<dc:creator>Handerson Frota</dc:creator>
				<category><![CDATA[DWR]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[SESSÃO]]></category>

		<guid isPermaLink="false">http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-2/</guid>
		<description><![CDATA[Dando continuidade&#8230;.. Vimos no artigo anterior a parte teórica deste artigo, agora vamos dar início a parte mais divertida: código ;D Criando o Bean Para iniciarmos o nosso exemplo sem mais delongas vamos criar o bean que iremos utilizar. Veja a listagem 01 public class BeanSession { private String id; private String keyMap; private String [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.handersonfrota.com.br%2Fcriando-uma-lista-na-sessao-com-dwr-parte-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.handersonfrota.com.br%2Fcriando-uma-lista-na-sessao-com-dwr-parte-2%2F&amp;source=handersonbf&amp;style=normal&amp;service=TinyURL.com" height="61" width="50" /><br />
			</a>
		</div>
<p>Dando continuidade&#8230;..</p>
<p>Vimos no artigo <a href="http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-1/" target="_blank">anterior</a> a parte teórica deste artigo, agora vamos dar início a parte mais divertida: <em><strong>código </strong></em>;D</p>
<p><strong>Criando o Bean</strong></p>
<p>Para iniciarmos o nosso exemplo sem mais delongas vamos criar o bean que iremos utilizar. Veja a listagem 01</p>
<pre name="code" class="java">public class BeanSession {

private String id;
private String keyMap;
private String name;

public String getId() {
return id;
}
public String getKeyMap() {
return keyMap;
}
public String getName() {
return name;
}
public void setId(String id) {
this.id = id;
}
public void setKeyMap(String keyMap) {
this.keyMap = keyMap;
}
public void setName(String name) {
this.name = name;
}
}</pre>
<p><a title="listagem01" name="listagem01"></a><em><strong>Listagem 01:</strong> Código do BeanSession com 3 propriedades(id, keyMap e name) e seus respectivos Get´s e Set´s.</em></p>
<p>Iremos utilizar esse bean para auxiliar o transporte dos dados entre o Java e o JavaScript. Mas o uso do mesmo não é obrigatório como vocês já sabem. No meu modelo eu utilizo Bean´s, mas caso você esteja utilizando outra forma também é possível, tanto com objetos <a href="http://json.org/" target="_blank">JSON</a>, Parâmetros como Integer, String etc, são aceitos com tranqüilidade pelo DWR.</p>
<p><strong>Alterando o FacadeAjaxSession.java</strong></p>
<p>Segue o código que tínhamos:</p>
<pre  name="code" class="java">public class FacadeAjaxSession {

public String exampleSession1(String attribute){
WebContext wc = WebContextFactory.get();

String valueSession = "";
if(wc.getHttpServletRequest().getSession().getAttribute(attribute)!= null){
valueSession = wc.getHttpServletRequest().getSession().getAttribute(attribute).toString();
}else{
valueSession = "Session is null";
}

return valueSession;
}

public void createSession(String attribute, String value){
WebContext wc = WebContextFactory.get();

wc.getHttpServletRequest().getSession().setAttribute(attribute, value);
}

public String exampleSession2(String attribute){
Session session = new SessionFacade();

String valueSession = "";

if(session.getAttribute(attribute)!= null){
valueSession = session.getAttribute(attribute).toString();
}else{
valueSession = "Session is null";
}

return valueSession;
}

}</pre>
<p><a title="listagem02" name="listagem02"></a><em><strong>Listagem 02:</strong> Código do FacadeAjaxSession que utilizamos no <a href="http://www.handersonfrota.com.br/artigos-tutoriais/dwr/" target="_blank">último artigo</a>.</em></p>
<p>Por hoje é só, na parte 3 deste artigo vamos ver o restante da classe FacadeAjaxSession.</p>
<p>Abraços</p>
]]></content:encoded>
			<wfw:commentRss>http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Criando uma lista na sessão com DWR &#8211; Parte 1</title>
		<link>http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-1/</link>
		<comments>http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-1/#comments</comments>
		<pubDate>Thu, 13 Dec 2007 23:35:07 +0000</pubDate>
		<dc:creator>Handerson Frota</dc:creator>
				<category><![CDATA[DWR]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[SESSÃO]]></category>

		<guid isPermaLink="false">http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-1/</guid>
		<description><![CDATA[Para finalizar esses artigos básicos sobre session vamos ver adiante como salvar, excluir e listar objetos na sessão, será um exemplo bem simples mas ao mesmo tempo muito útil para quem pretende fazer algo semelhante. Iremos continuar utilizando o projeto dos artigos sobre Sessão com DWR. Preparando o ambiente e ferramentas Segue abaixo o nosso [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.handersonfrota.com.br%2Fcriando-uma-lista-na-sessao-com-dwr-parte-1%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.handersonfrota.com.br%2Fcriando-uma-lista-na-sessao-com-dwr-parte-1%2F&amp;source=handersonbf&amp;style=normal&amp;service=TinyURL.com" height="61" width="50" /><br />
			</a>
		</div>
<p>Para finalizar esses artigos básicos sobre session vamos ver adiante como salvar, excluir e listar objetos na sessão, será um exemplo bem simples mas ao mesmo tempo muito útil para quem pretende fazer algo semelhante.</p>
<p>Iremos continuar utilizando o projeto dos artigos sobre Sessão com DWR.</p>
<p><strong>Preparando o ambiente e ferramentas</strong></p>
<p>Segue abaixo o nosso ambiente:</p>
<p><strong>IDE: </strong>MyEclipse 6.0<br />
<strong>ContainerWeb:</strong> Tomcat 5.5.17<br />
<strong>DWR:</strong> Versão 2.0.1<br />
<strong>JAVA: </strong>JKD5.0 ou superior.</p>
<p><strong>Informações Iniciais</strong></p>
<p>Iremos criar uma funcionalidade bem simples, mas também bem útil. Teremos um formulário onde entraremos com alguns dados, salvaremos esses dados na sessão, podemos adicionar um ou mais dados formando assim uma lista desses dados. A funcionalidade também irá permitir listar e excluir esses dados da sessão. Não iremos salvar no banco, mas nada impede que você o faça.</p>
<p>Para você acompanhar melhor esse artigo você deve ler as seqüências de artigos localizados nos links que passarei mais a frente, isso será necessário caso você ainda não tenha visto ou não saiba o básico para trabalhar com sessão utilizando o DWR, com isso você terá um bom entendimento do que será apresentado.</p>
<p><a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=6554" target="_blank">Trabalhando com Session no DWR parte 1</a><br />
<a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=7006" target="_blank">Trabalhando com Session no DWR parte 2</a><br />
<a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=6011" target="_blank">Vídeo-aula 1</a><br />
<a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=6033" target="_blank">Vídeo-aula 2</a><br />
<a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=6220" target="_blank">Vídeo-aula 3</a><br />
<a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=6814" target="_blank">Vídeo-aula 4</a></p>
<p><strong>Estrutura.</strong></p>
<p>Vamos utilizar a implementação do último artigo. <a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=7006" target="_blank">Session e SessionFacade</a>. Iremos manter a estrutura desde o primeiro artigo e vamos inserir essa nova funcionalidade no “sistema”.</p>
<p>OBS1: Esse artigo será publicado na integra no Portal da Java Magazine, aguarde.</p>
<p>Bem essa é nossa primeira parte, vou dá tempo para que vocês possam(caso ainda não tenham feito)  acompanhar os artigos anteriores sobre Sessão e a segunda parte será publicada logo em seguida.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.handersonfrota.com.br/criando-uma-lista-na-sessao-com-dwr-parte-1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Video Aula &#8211; Session DWR</title>
		<link>http://www.handersonfrota.com.br/video-aula-session-dwr/</link>
		<comments>http://www.handersonfrota.com.br/video-aula-session-dwr/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 21:28:57 +0000</pubDate>
		<dc:creator>Handerson Frota</dc:creator>
				<category><![CDATA[DWR]]></category>
		<category><![CDATA[JAVA]]></category>
		<category><![CDATA[SESSÃO]]></category>
		<category><![CDATA[vídeo]]></category>

		<guid isPermaLink="false">http://www.handersonfrota.com.br/video-aula-session-dwr/</guid>
		<description><![CDATA[Bem a série de vídeo-aulas sobre Session que a JavaMagazine está publicando chega ao fim. A última parte foi publicada no dia 6 de novembro. Para quem acompanha é a parte com exemplos &#8220;reais&#8221;. Nesta vídeo-aula eu crio um exemplo que quase sempre utilizamos quando trabalhamos com Session no DWR, será de grande ajuda creio [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.handersonfrota.com.br%2Fvideo-aula-session-dwr%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.handersonfrota.com.br%2Fvideo-aula-session-dwr%2F&amp;source=handersonbf&amp;style=normal&amp;service=TinyURL.com" height="61" width="50" /><br />
			</a>
		</div>
<p>Bem a série de vídeo-aulas sobre Session que a <a href="http://www.devmedia.com.br/autor.asp?id=161387" target="_blank">JavaMagazine </a>está publicando chega ao fim. A última parte foi publicada no dia 6 de novembro. Para quem acompanha é a parte com exemplos &#8220;reais&#8221;.</p>
<p>Nesta vídeo-aula eu crio um exemplo que quase sempre utilizamos quando trabalhamos com Session no DWR, será de grande ajuda creio eu, para quem está fazendo esses tipos de funcionalidades.</p>
<p>A um tempinho atrás eu dei uma &#8220;tunnada&#8221; nessa funcionalidade deixando-a mais &#8220;genérica&#8221;  e mais simples de se implementar. Já estou preparando um artigo e claro mais vídeo-aulas para entregar de bandeja essas facilidades ;D a vocês.</p>
<p>Link da vídeo-aula: <a href="http://www.devmedia.com.br/articles/viewcomp.asp?comp=6814" target="_blank">link</a><br />
Outras vídeo-aulas: <a href="http://www.handersonfrota.com.br/artigos-tutoriais/dwr/">link</a></p>
<p>PS: Lembrando que essas vídeo-aulas é exclusivo para assinantes da <a href="http://www.devmedia.com.br/autor.asp?id=161387" target="_blank">JavaMagazine </a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.handersonfrota.com.br/video-aula-session-dwr/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->