Notizen
Custom Tags
Inhalt der Notizen (13)
Seite 1
Agenda
Aqui discutiremos:
Custom Tags.
O descritor de Tag Library e seus elementos.
Mapeamento entre TLD (Tag Library Descriptor) e o arquivo JSP.
Exemplo de um arquivo TLD e sua localização
Seite 2
Custom Tags
Nós talvez necessitemos usar uma custom tag que não é parte do JSTL.
Seite 3
TLD
Há três conceitos associados com custom tags:
TLD ( Tag Library Descriptor ).
Como usar a tag na página JSP.
O Tratador de tags ( Tag Handler )
É importante olhar o TLD de modo que se possa saber como a tag pode ser usada.
Seite 4
Exemplo de TLD
Abaixo temos um exemplo de um arquivo TLD:
< uri >: refere-se a um nome único que será usado mais tarde na página JSP.
Tags obrigatórias: < tlib-version >, < short-name > e < uri >
Seite 5
Exemplo de TLD (2)
Tags obrigatórias: < name >< tag-class > e < body-content >
Opcional: < description >
Seite 6
Explicação da TLD
As tags < tlib-version >, < short-name > e < uri > são obrigatórias.
A tag < uri > é o termo usado na diretiva taglib declarada na página JSP, não é uma localização, apenas um nome.
Dois arquivos *.tld na mesma aplicação web e com o mesmo valor para a tag < uri > não são permitidos.
< name >, < tag-class > e < body-content > são tags obrigatórias.
< name > será utilizado para chamar a tag na página JSP ( no nosso exemplo, 'car' é o nome que usaremos na JSP ).
< tag-class > é o tratador de tag ( tag handler ) o qual o container chamará para tratar a tag.
Para o elemento < tag >:
Os dois subelementos< name > e < tag-class > são obrigatórios e devem aparecer exatamente uma vez. Podem aparecer zero ou mais elementos < variable > e < attribute >. Todos os outros elementos serão opcionais podendo aparecer no máximo uma vez.
Seite 7
< attribute >
< body-content > estabelece que tipo de conteúdo o corpo da tag deve ter ( empty, scriptless, JSP, tag-dependant ).
O elemento < attribute > define os atributos da tag.
O elemento < attribute > pode aparecer zero ou mais vezes por elemento < tag >.
'name' especifica o nome do atributo.
'required' estabelece se o atributo é obrigatório na tag ou não.
'rtexprvalue' é 'run time expression value' o qual estabelece se o atributo aceita ou não valores em tempo de execução.
Seite 8
Arquivo TLD mapeado para o arquivo JSP
Abaixo vemos o mapeamento entre o arquivo TLD e o arquivo JSP.
Seite 9
< jsp:attribute >
Caso não aja tag < rtexprvalue >, então o padrão é false, ou seja, apenas aceita String literal e não valores avaliados em tempo de execução.
A tag < jsp:attribute > é uma nova action padrão que pode ser utilizada para declarar atributos no corpo da tag mesmo quando o elemento < body-content > tiver um valor de empty.
Seite 10
< jsp:attribute > (2)
O elemento jsp:attribute é o único elemento que pode ser declarado no corpo de uma tag mesmo quando for criada vazia.
Seite 11
< body-content >
O elemento < body-content > pode ter um valor:
empty ( a tag não deve possuir um corpo ).
scriptless ( a tag não permite scriptlets, declarations, expressions mas permite EL, template text, custom e standard actions ).
JSP ( todo conteúdo JSP é permitido )
tagdependant ( EL e tags / actions não serão avaliados ).
O container procurará por TLD's em locais apropriados.
Seite 12
Localização de TLD's
É necessário armazenar TLD's em um desses quatro locais:
Dentro de WEB-INF
Dentro de algum subdiretório de WEB-INF
Dentro de WEB-INF/lib/JAR/META-INF
Dentro de qualquer subdiretório de WEB-INF/lib/JAR/META-INF
Seite 13
Concluindo
Aprendemos como criar TLDs.
Discutimos os detalhes de uma TLD e sua localização.
Informationen
- Beschreibung
- Concursos Públicos Desenvolvimento de Software (OCEJWCD 6 ONLINE COURSE) Notiz am Custom Tags, erstellt von Luis Felipe Guariento am 08/03/2018.
- Erstellt von
- Luis Felipe Guariento · Mär 2018
- Aktualisiert
- 14 Mär 2018
- Aufrufe
- 1
- Bewertung