Esse tipo de pergunta requer pelo menos que VC tenha tentado fazer alguma vez, mas como VC esta aprendendo o exemplo do Fabricio_Bizo Vale por hora, mas Priscilla não esqueça de quando VC tirar dúvida tente ao menos solucionar o problema sozinha, pois mostra que você ao,menos tentou fazer sozinha, assim VC vai aprender mais a resolver os seus problemas de código sozinha que é a real intenção deste fórum, você precisa estimular sua mente a criar algoritmos e buscar soluções, no proprio google tem solução pra isso e se não tiver veja como funciona cada estrutura de dados separadamente, não sei por que o Fabricio deu a resposta, pois esta pergunta é tão fácil que Vc conseguiria fazer sozinha com uma boa pesquisa no google ok . Abraços
P
prirodovalho
jacoboliveira.
EU procurei, pesquisei, porém não consegui nessa estrutura que postei. A minha estrutura ficou diferente. Segue a classe para que você veja. A minha dúvida é em relação a estrutura.
@RequestMapping(value="addUsers", method = RequestMethod.POST)
public String adiciona(HttpServletRequest request, Model model){
StringownerName=request.getParameter("owner");StringownerEmail=request.getParameter("owner_email");//System.out.println(String.format("Owner: [%s] - [%s]", ownerName, ownerEmail));Userowner=newUser(ownerName,ownerEmail);model.addAttribute("ownerValid",owner.isValid);List<User>users=newArrayList<User>();ArrayList<HashMap<String,String>>dataEmails=newArrayList<HashMap<String,String>>();HashMap<String,String>names=newHashMap<String,String>();HashMap<String,String>nomes=newHashMap<String,String>();HashMap<String,String>emails=newHashMap<String,String>();HashMap<String,String>validEmail=newLinkedHashMap<String,String>();PatternpattName=Pattern.compile("user(\\d)");PatternpattEmail=Pattern.compile("user(\\d)_email");StringvaldEmail;// Map names and emailsfor(Stringparam:request.getParameterMap().keySet()){Matcherm=pattName.matcher(param);if(m.matches()==true){names.put(m.group(1),request.getParameter(param));}m=pattEmail.matcher(param);if(m.matches()==true){emails.put(m.group(1),request.getParameter(param));}}// Create users objects/* for (Integer i = 1; i <= names.size(); i++) { String name = names.get(i.toString()); String email = emails.get(i.toString()); // System.out.println(emailValid.get(i)); //users.add(u); }*/for(Integerne=1;ne<=names.size();ne++){Userus=newUser(names.get(ne.toString()),emails.get(ne.toString()));valdEmail=(us.isValid).toString();validEmail.put(ne.toString(),valdEmail);}dataEmails.add(names);dataEmails.add(emails);dataEmails.add(validEmail);model.addAttribute(users);model.addAttribute("ownerName",ownerName);model.addAttribute("ownerEmail",ownerEmail);request.setAttribute("dataEmails",dataEmails);
}
}
P
prirodovalho
Não fale o que você não saiba. Percebe-se que você não tem humildade de ensinar os outros. Obrigada
jacoboliveira
Tá ok entendi, não fique chateada não , tem muita gente que quer se aproveitar dos outros , não digo VC , mas tem pessoas que ficam “usando” as pessoas para solucionar seus problemas aparentemente faceis de resolver, principalmente universitários que não sabem nem começar um código. Vc e outros tem que entender que ninguém vai da a solução de mão beijada a pessoa tem que fazer alguma coisa pesquisar algo.
Pela sua última postagem ficou um pouco incoerente com sua pergunta principal, VC pegou de algum site esse código? Parece-me que esse código é do spring framework, acho que esse nível de implementação esta um pouco avançada pra vc é isso mesmo que vc esta querendo? por favor seja um pouco clara no que VC quer. Por incrível que pareça eu quero ajudar Vc assim como o Fabricio. Explique-me melhor
P
prirodovalho
Oi Jacob,
Bom dia,
Entendi. Tudo bem. É que já estou com dificuldades em algo simples. O problema é que minha estrutura está ficando assim:
Eu ainda acho que seu for deveria ficar que nem o exemplo do Fabricio, assim:
for(Integerne=1;ne<=names.size();ne++){//criar a instancia do map dentro do forMap<String,Object>map=newLinkedHashMap<>();List<Map<String,Object>>dataEmails=newLinkedList<>();Userus=newUser(names.get(ne.toString()),emails.get(ne.toString()));valdEmail=(us.isValid).toString();map.put("nome: ",names.get(ne.toString()));map.put("email: ",emails.get(ne.toString()));map.put("valid: ",validEmail.get(ne.toString()));//validEmail.put("valid: ",valdEmail); //essa linha pra mim é desnecessária(esta se repetindo) uma vez que você esta incluindo logo acimadataEmails.add(map);System.out.println(dataEmails);}
Dai seu for ficará agrupado assim
[{nome: “Lucas”, email: “lucas@gmail”, valid: true}]
[{nome: “Igor”, email: “igor@gmail”, valid: false}]
do jeito que VC fez ficaria assim:
[{nome:“Lucas”}]
[{email:“[email removido]”}]
[{valid:true}]
e mais o outra repetição
[{valid:true}]