Identificacão de Usuarios
• Em WEB-INF/Usuarios.xml estão definidos os usuários com os
seus devidos papeis. Podem ser inclusos novos usuários e/ou
papeis(perfis) sempre que identificados.
• Os perfil são simplesmente texto separados por virgula.
• Login é case insensitive, já a senha é case senstive
• Exemplo:
<Usuario>
<nome>Exemplo</nome>
<senha>uniceub</senha>
<perfil>Usuario,Desenvolvedor,Webmaster</perfil>
</Usuario>
Criacão de menus
• Em WEB-INF/menu.xml estão definidos os menus. Somente
usuários com os perfis necessários poderão ver e acessar o
item do menu
• Se o usuário não poder ver o Menu este não poderá ver o
submenu, porem se tiver o perfil necessário poderá acessa-lo
pelo url.
• Atributo permissao => perfis
• Atributo url => caminho ate o metodo.
<Menu nome="Templates" permissao="Administrador" url="">
<SubMenu nome="CRUD Simples" permissao="Administrador" url="Templates_CRUDCompleto.listar"></SubMenu>
<SubMenu nome="CRUD Em Linha" permissao="Administrador,Presidente"url="Templates_CRUDInline.listar"></SubMenu>
</Menu>
Controller
Documentos
(html,xml)
Action
Template
Mensagens
Mapeamento
(Menu)
Migalha
Estrutura do Framework
Formatos de URL simples
1)
2)
<Action/Pasta>.<Metodo/HTML>
Exemplo: Usuario.listar
<Action/Pasta>.<Metodo>.<HTML>
Exemplos: Usuario.novo.formulario
Usuario.editar.formulario
Formatos de URL com
redirecionamento de HTML
1.
2.
3.
<ActionX>.<MetodoX>.<ActionY/Pasta>.<MetodoY/HTML>
Exemplo: Usuario.excluir.Usuario.listar
Usuario.incluir.Usuario.listar
Usuario.alterar.Usuario.listar
Exemplo de utilização
<ActionX>.<MetodoX>.<ActionY/Pasta>.<MetodoY>.<HTML>
Exemplos: Usuario. alterar.Usuario.editar.formulario
Organizaçao das pastas
<Classe>
<Metodo>
<Metodo>
<= Pasta do framework
<Classe>
<Metodo>
<Metodo>
<Classe>
<Metodo>
Estrutura da Classe
Parametros do Framework
• ajax = true
Faz com que o framework somente devolva o html referente
ao conteúdo, incluindo as migalhas e mensagens geradas.
• puro = true
O framework ira agora retornar somente o conteúdo (sem
migalhas ou mensagens). Este parâmetro deve ser usado para
buscar componentes afim de criar um formulário
dinamicamente
Nomeclatura
• listar , novo , editar , visualizar
Estes são nomes de métodos /paginas, estes não deveram
fazer mais nada além de montar a pagina pra o usuario
preencher ou visualizar. Estes serão os botões num CRUD
completo na pagina de listagem.
• incluir , alterar , excluir
Estes são os nomes dos métodos que realmente irão
manipular os dados, não há necessidade de gera paginas estes
poderão ser só executores e depois redirecionar para outra
pagina geralmente a listar. Entretanto é recomendável que
este utilizem mensagens para informar êxito ou erro.
Estrutura de um HTML no
Framework
HTML Classes Importantes
• a.ajaxConteudo => este link automaticamente recebera o
parâmetro ajax=true e o resultado substituirá o conteúdo da
pagina.
• form.ajaxConteudo => este formulario ao ser submetido será
incluso o paremetro ajax=true e o resultado subistituirá o
conteudo da pagina.
• a.ajaxSubmit => torna o link o botão submit do formulário
que esta contido.
• a. editar , a.incluir , a.excluir , a. alterar => estas classes
devem ser usadas em paginas de listagem onde autores com
estas iram ler a linha da tabela afim de serializar inputs e
enviar para os links atribuídos.
HTML Classes Importantes
• table.grid => Tabela com esta classe receberão
automaticamente as funcionalidades de paginação, filtro por
coluna e por texto.
• table.noErrorLabel => deve ser usado em CRUDs em linha que
utilizem validação de formulário pra esconder as mensagens
de erro que alteram a estrutura da tabela.
• div.radioset => Criará um grupo de Radio Buttons com a
aparência de botões jQueryUI
• input.campoData => Este campo terá um datePicker
• input.campoCep => Este campo terá mascara de CEP
• input.campoCnpj =>Este campo terá mascara de CNPJ
• input.campoCpf => Este campo terá mascara de CPF
HTML Classes Importantes
•
•
•
•
•
•
•
input.campoDdd => Este campo terá mascara de DDD
input.campoTelefone => Este campo terá mascara de Telefone
input.campoFloat => Este campo terá mascara de Float
input.campoData => Este campo terá mascara de Data
input.campoMesAno => Este campo terá mascara de MesAno
input.campoAno => Este campo terá mascara de Ano
input.campoHoraSimples => Este campo terá mascara de
HoraSimples
• input.campoHoraComposta => Este campo terá mascara de
HoraComposta
• input.campoInteiro => Este campo terá mascara de Inteiro
Download

Apresentação do PowerPoint