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
darknet seiten dark web link
tor market url dark web site
deep dark web dark web markets
dark web market links dark web search engine
dark websites dark web site
deep web drug links dark web links
darknet drug market darkmarkets
darknet market darkmarket link
darkmarkets how to access dark web
dark web access dark web drug marketplace
The state auditor alsxo asked the chancellor’s workplace to do much more to hold districts accountable when it comes
to hiring diverse faculty.
my webpage – web page
darknet markets darkweb marketplace
darknet search engine dark web links
darknet sites darkmarket
darknet market dark market 2023
darknet search engine darknet marketplace
That’s why our final Zodiac Casino bonus rating for
this on line gambling web page is in tthe average variety.
My blog check here
darknet market lists deep dark web
dark website dark websites
Korean films and TVs contribute numerous billion dollars too the Korean GDP — a figure
that has shown steady growth over the years.
Viskt my blog 밤알바
darknet drug store darkmarket link
tor market dark web drug marketplace
dark web link dark market 2023
tor markets darknet links
dark web links darkmarkets
dark web drug marketplace how to get on dark web
darknet links darknet drug market
dark websites dark net
onion market darknet market lists
darkmarket link deep web drug links
tor markets dark markets
deep dark web dark market url
tor market links darkmarkets
Cool blog! Is your theme custom made or did you download it from somewhere?
A design like yours with a few simple tweeks would really make
my blog jump out. Please let me know where you got your design. Thanks a lot
plavix 75 mg price in usa
buy xenical from canada
tor market url darknet links
darkmarket list darknet markets 2023
tor market links darknet search engine
Hey There. I found your blog using msn. This is an extremely well written article.
I will make sure to bookmark it and come back to read more of your useful information. Thanks for the post.
I will certainly comeback.
blackweb tor market url
darknet markets darknet marketplace
darknet markets dark net
Seneca Gaming Corporation iss a trbal corporation of thhe Seneca Nation of Indians and runs the Seneca Niagara Casino andd the Seneca Allegany Casino.
My homepage :: 바카라
tor market dark web links
dark web access deep web drug store
This is a good tip especially to those fresh to the blogosphere.
Brief but very accurate information… Thank you for sharing this one.
A must read article!
darknet markets dark website
robaxin 750 tabs
how much is phenergan