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

Tag Libraries

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.
Aufrufe
0
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck