GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Notizen

Tag Libraries

Luis Felipe Guariento Desenvolvimento de Software Concursos Públicos Portugiesisch 25 Seiten

Inhalt der Notizen (25)

Seite 1

Agenda

Nessa apresentação veremos:

A necessidade do uso de JSTL (JSP Tag Libraries).

Discutiremos algumas das tags JSTL core:

< c:forEach >

< c:if >

< c:choose > com < c:when > e < c:otherwise >

< c:set >

< c:import > junto com < c:param >

Para bibliotecas de tags customizadas, nossa biblioteca de tags, iremos criar uma diretiva de biblioteca de tags para ser utilizada em uma página JSP e dado um objetivo de projeto, usaremos uma biblioteca de tags JSP Standard - JSTL V1.1 - tags da biblioteca de tags core.

Seite 2

JSTL - JSP Tag Library

Em algumas ocasiões, EL e actions JSP padrão podem não ser suficientes para um desenvolvedor.

JSTL é uma biblioteca padrão de tags customizadas que podem ser utilizadas.

JSTL é uma biblioteca de tags para serem utilizadas em páginas JSP.

Seite 3

Core JSTL tags

Veremos algumas tags JSTL da biblioteca core nessa apresentação.

Abaixo vemos algumas tags da biblioteca core que iremos discutir:

Tag Libraries

Seite 4

< c:forEach >

A tag < c:forEach > é similar aos loops "for" de outras linguagens de programação.

A tag < c:forEach > é utilizada para iterar sobre arrays ou collections. Por exemplo:

Tag Libraries

Seite 5

< c:forEach > (2)

'items' é o array a ser varrido e 'var' é a variável usada para iterar sobre cada item do array.

Também há um atributo opcional chamado 'varStatus' que se comporta como um contador no loop e outros atributos opcionais como begin e etc.

Também podemos aninhar tags < c:forEach >

A variável 'var' é restrita ao escopo da tag (não estará disponível fora da tag < c:forEach > ).

Seite 6

< c:if >

A tag < c:if > é similar a sentença if em outras linguagens de programação

Sintaxe e exemplo.

O exemplo abaixo imprimirá "Five is greater than 3"

Tag Libraries

Seite 7

< c:choose>

Devido ao fato de não haver 'else' em JSTL, múltiplos 'if' podem ser feitos através da tag < c:choose >:

Tag Libraries

Seite 8

< c:choose > (2)

A tag < c:choose > é similar à construção 'switch' de outras linguagens.

Quando nenhum resultados dos testes é verdadeiro, será executada a tag < c:otherwise >

A tag < c:otherwise > é opcional no corpo da tag < c:choose >

Seite 9

< c:set >

A tag < c:set > será usada para:

Configurar as propriedades de um bean ou de um Map.

Para configurar atributos de variáveis.

Para configurar atributos de variáveis, podemos utilizar o seguinte, onde 'scope' é opcional e 'var' é obrigatório e 'value' não pode ser vazio.

Se, conforme exemplo, não houver nenhum atributo chamado "name", então o comando < c:set > irá criar um novo atributo com esse nome e valor no escopo estabelecido.

Tag Libraries

Seite 10

< c:set var=... >

A tag < c:set > pode ter um corpo tag, como abaixo:

Tag Libraries

Caso o valor seja avaliado como "null", o container removerá o atributo.

O corpo da tag será avaliado e usado como valor do atributo "cars"

Seite 11

< c:set target... >

A tag < c:set target... > é usada para configurar o valor de um bean ou de um map.

O atributo 'target' deve avaliar um Objeto.

Assim como a tag < c:set var... >, a tag < c:set target="" > pode também ter um corpo podendo ser String ou uma expression.

Tag Libraries

Seite 12

< c:set target... > (2)

O container lançará uma exceção quando:

A expressão 'target' for null

Caso a expressão 'target' não seja nem um bean e nem um Map.

Se a expressão for um bean mas não for encontrada a propriedade informada na tag < c:set target ...>

Seite 13

< c:remove >

A tag < c:remove > será utilizada para remover atributos em quaisquer escopos.

'scope' será opcional, porém caso não seja especificado, o atributo em questão será removido de todos os escopos.

Tag Libraries

Seite 14

< c:import >

A tag < c:import > representa outra maneira de importar conteúdo para o arquivo corrente.

O conteúdo do arquivo será incluído em tempo de requisição.

O atributo 'url' da tag < c:import > pode ser para obter um recurso de fora do container.

Tag Libraries

Seite 15

< c:import > e < c:param >

Como no caso de standard actions JSP, parâmetros podem ser passados para um arquivo a ser incluído por meio da tag < c:param >

No exemplo abaixo, a página "whizlabs.jsp" será incluído na página corrente e o parâmetro de nome "apt_name" e valor "Rose" será passado ao arquivo incluído: whizlabs.jsp

Tag Libraries

Seite 16

< c:url >

A tag c:url será utilizada para se fazer reescrita de URL ou "url rewriting".

O processo de "url rewriting" é baseado em anexar os ids de sessão dos usuários ao final da URL no caso de cookies estarem desabilitados.

Assim, no código abaixo adicionamos o id da sessão ao final de 'entry.jsp' para podermos rastrear a sessão.

Tag Libraries

Seite 17

< c:param > e < c:url >

O processo de codificação de URL substituirá caracteres especiais ou espaços por outros caracteres na URL.

O atributo 'value' em c:url deve ser relativo.

O uso da tag < c:param > no corpo de < c:url > proporciona codificação de URL.

Seite 18

Servlet

O programa a seguir procura ilustrar o uso de tags JSTL core e o uso da diretiva taglib.

O servlet abaixo cria um array de carros e o configura como um atributo no escopo de requisição.

Tag Libraries

Seite 19

apt.java

Abaixo vemos o arquivo apt.java

Tag Libraries

Seite 20

jstl_jsp.jsp

Aqui se encontra a página JSP jstl_jsp.jsp com todos os conceitos apresentados até então.

Tag Libraries

Seite 21

parameters.jsp

Abaixo temos o arquivo parameters.jsp, o qual é chamado no arquivo jstl_jsp.jsp através da tag < c:url > que proporciona reescrita de URL e ainda há a possibilidade de passar parâmetros para a página, como foi feito pela chamada a < c:param name="title" value="john" /> no corpo da tag < c:url >

Tag Libraries

Seite 22

Saída do programa

Abaixo vemos o resultado da execução do código realizado.

Tag Libraries

Seite 23

Conclusão

Nessa apresentação discutimos:

Algumas das tags JSTL da biblioteca core.

Vimos um exemplo que ilustra a diretiva 'taglib' e algumas das tags JSTL da biblioteca core.

Seite 24

Antes de rodar o código...

Antes de executar o código exemplo na sua máquina, você deve ir até o diretório de instalação do jdk do java e copiar os arquivos jstl.jar e standard.jar para:

<diretorio de instalação do jdk>\jre\lib\ext

Para que o compilador reconheça as tag libraries do JSTL.

Tag Libraries

Seite 25

Configuração do arquivo web.xml

Abaixo temos a configuração do arquivo web.xml que para a chamada a carServlet

Tag Libraries

Informationen

Beschreibung
Concursos Públicos Desenvolvimento de Software (OCEJWCD 6 ONLINE COURSE) Notiz am Tag Libraries, erstellt von Luis Felipe Guariento am 07/03/2018.
Erstellt von
Luis Felipe Guariento · Mär 2018
Aktualisiert
8 Mär 2018
Aufrufe
0
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck