Criando uma lista na sessão com DWR – Parte 3
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<String, BeanSession> sessionMap = null;//02 if(session.getAttribute("sessionMap") != null){ //03 sessionMap = (Map) session.getAttribute("sessionMap");//04 }else{ sessionMap = new HashMap<String, BeanSession>();//05 } String keyMap = beanSession.getId() + "_" + beanSession.getName();//06 beanSession.setKeyMap(keyMap); //07 sessionMap.put(keyMap, beanSession); //08 session.setAttribute("sessionMap", sessionMap); //09 }
Listagem 03: Método que adiciona em um atributo da sessão o objeto passado como parâmetro.
Na listagem 03 vimos o método addMapSession() que espera como parâmetro um BeanSession(ver listagem 01), veja baixo:
01:Criamos o objeto session a partir de nossa classe SessionFacade;
02:Criamos um Map(sessionMap);
03: Recuperamos da sessão o atributo utilizado, e verificamos se o mesmo já existe;
04:Caso o Atributo exista(linha 03) pegamos o valor desse atributo e adicionamos no Map(sessionMap);
05:Caso o atributo não exista inicializamos o sessionMap;
06: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;
07:Adiciono esse keyMap(identifica o mapa, linha 06) no meu BeanSession;
08:Adiciono no sessionMap a chave do meu mapa(keyMap) e o meu objeto(BeanSession).
Método para listar um objeto na sessão:
public Map listMapSession() throws Throwable { Session session = new SessionFacade(); Map<String, BeanSession> sessionMap = null; if (session.getAttribute("sessionMap") != null) { sessionMap = (Map) session.getAttribute("sessionMap"); } else { sessionMap = new HashMap<String, BeanSession>(); } return sessionMap; }
Listagem 04: Método que retorna um Map da sessão.
Este método dispensa explicação mais detalhada, ele apenas retorna um Map que está salvo em um determinado atributo na sessão.
Método para excluir um objeto da sessão:
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<String, BeanSession>(); } if (sessionMap.containsKey(beanSession.getKeyMap())) { sessionMap.remove(beanSession.getKeyMap()); } session.setAttribute("sessionMap", sessionMap); }
Listagem 05: Método que exclui o objeto passado como parâmetro da sessão.
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.
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.
No próximo artigo(parte 4) iremos ver a implementação no lado JavaScript.
Abraços
And any mining charges and their anti-central financial
institution rhetoric or extra not too long ago the. In every draw some are good in non-parallel operations
in similar ways.
dark web sites https://kingdomdarkwebmarket.com/ darknet marketplace
tor markets https://world-darkwebmarket.com/ blackweb
dark market https://world-drugs-online.com/ darkmarket link
tor market https://darkweb-world.com/ bitcoin dark web
darkmarket link https://worldmarketplacee.com/ onion market
safe canadian pharmacies
dark web site https://cypherdrugsmarketplace.com/ dark market list
Hi, just wanted to tell you, I loved this blog post.
It was practical. Keep on posting!
Right here is the right website for anybody who wishes to
find out about this topic. You realize a whole lot its almost tough to argue with you (not that I personally would want to…HaHa).
You certainly put a fresh spin on a topic that has been written about for decades.
Excellent stuff, just great!
darknet drug links https://worlddarkweb.com/ darknet markets 2023
The finest on the web casinos in Ireland for 2023 are all listed here on our website.
Here is my blog; read more
onion market https://cyphermarket-darknet.com/ tor markets
ʏou are really a good webmaster. The sіte loading pace is incгedible.
Іt sort of feels that you are doing any distinctive tricқ.
Furthermore, The content are maѕterwork. you’ve done a greaat job in this subject!
Here is my pаge jumbototo
bitcoin dark web https://dark-market-heineken.com/ darknet marketplace
dark web sites https://cypher-markett.com/ bitcoin dark web
dark internet https://heinekendarknetdrugstore.com/ dark market 2023
lexapro canada
darknet market https://world-darkweb-drugstore.com/ darkmarket url
dark market url https://heineken-online-drugs.com/ free dark web
darkmarket 2023 https://worldonionmarket.com/ darkmarket list
dark web market list https://dark-web-world.com/ onion market
dark market onion https://dark-market-cypher.com/ darknet seiten
dark web drug marketplace https://cypherdarkmarketplace.com/ dark market url
medrol generic cost
darknet search engine https://world-onion-darkmarket.com/ dark web drug marketplace
dark websites https://heinekenoniondarkmarket.com/ darkmarket list
dark web link https://cypher-darkmarket-online.com/ dark market list
darknet market links https://heineken-drugs-market.com/ darknet links
dark web link https://world-market-place1.com/ dark markets
deep dark web https://cypherdarkmarketx.com/ darkmarket
dark market onion https://heineken-onion-darkmarket.com/ dark internet
darkmarkets https://heineken-drugs-online.com/ darkmarkets
black internet https://cypher-onion-darkmarket.com/ dark markets
blackweb https://darkwebcypher.com/ tor markets
buy diltiazem no prescription buy allopurinol 100mg purchase zyloprim generic
dark market url https://world-darkwebmarket.com/ dark web access
tor market https://worldmarket-url.com/ darknet markets 2023
deep web markets https://darkwebworldmarket.com/ dark market onion
blackweb official website https://worlddarkwebmarket.com/ deep web drug url
deep web markets https://cypheroniondarkmarket.com/ dark web sites links
Wagering needs differ depending on what you bet on, but
they’re fixed at just 5x for sports betting.
Here is my web page … 안전토토사이트
darknet drug store https://darkweb-world.com/ dark websites
how to buy diltiazem order acyclovir 400mg online cheap zyloprim 300mg canada
What’s Happening i’m new to this, I stumbled upon this I’ve discovered It absolutely useful and
it has aided me out loads. I hope to give a contribution & aid other customers like
its aided me. Good job.
tor market url https://worldmarket-darknet.com/ deep web search
dark web search engines https://heinekendrugsmarket.com/ free dark web
Handle your dollars, your way, and styay clear of overdraft or bounced verify
charges.
my blog post 대출고래
darknet drug market https://world-drugs-online.com/ tor market
how to access dark web https://world-darkweb.com/ dark web market list