Cursos / Informática para Internet / Desenvolvimento Web I / Aula

arrow_back Aula 07 - Introdução ao JSTL

Gerenciamento de URLs e controle de fluxo

Você viu, nas páginas anteriores, as tags de suporte a variáveis e miscelâneas. Continuaremos os estudos mostrando as tags da taglib core que tratam de gerenciamento de URLs e controle de fluxo. Começaremos, então, pelo gerenciamento de URLs.

Existem três tags básicas para o gerenciamento de URLs. Essas tags são c:url, c:import e c:redirect. Essas três tags podem fazer uso de outra tag que permite a passagem de parâmetros para as funcionalidades de gerenciamento. Essa tag é c:param. Então, vamos aos detalhes desse assunto!

A tag c:url constrói uma URL aplicando as regras apropriadas de reescrita de URLs. E o que seria isso? Reescrever uma URL significa escrever a URL de uma forma mais completa, por exemplo. A Listagem 7 apresenta o uso da tag c:url da taglib core.

Listagem 7 - Código JSP que utiliza a funcionalidade de reescrita de URL

Perceba que na linha 01 estamos indicando que o valor definido no atributo value será transformado em uma URL a partir da URL base. Como assim? Se você está acessando o JSP http://localhost:8080/aula07/profile.jsp. nesse caso a URL base seria http://localhost:8080/aula07/, então, a URL gerada será a URL base concatenada ao atributo value da tag , o que resultaria em http://localhost:8080/aula07/editProfile.do. Perceba também que na linha 02, dentro da tag c:url, utilizamos a tag c:param para passar o parâmetro chamado “id” que, no caso de nosso exemplo, tem o valor “${user.id}”. Então a URL final será gerada com o parâmetro “id=ID_DO_USUARIO”. Caso o atributo “user.id” do exemplo tenha o valor 22 a URL final ficaria: http://localhost:8080/aula07/editProfile.do?id=22

A informação mais importante com relação aos parâmetros é que eles são passados via a própria URL. Cuidado, porém, pois alguns caracteres não são permitidos na URL. Dessa forma, é necessário que esses caracteres sejam codificados, o que NÃO é feito pela tag c:url. Espaços em branco, &, ? etc. devem ser codificados antes de serem utilizados como parâmetros nas URLs. E como isso é feito? A tag c:param já cuida disso para você automaticamente, ou seja, é bastante aconselhável que se use a tag c:param quando se deseja passar parâmetros tanto para a tag c:url quanto para as demais tags de gerenciamento de URLs.

Uma vez que explicamos a funcionalidade dessa tag, vamos agora mostrar e explicar cada um dos seus atributos

Atributo Descrição Obrigatório Valor default
value URL que será processada. Pode ser uma expressão ou a própria URL. Sim
var Nome da variável que guardará o valor processado da URL. Não
scope Escopo onde a variável definida no atributo var será armazenada. Não Página
Quadro 7 - Atributos da tag c:url

O exemplo anterior já mostrou uma forma de uso para funcionalidade c:url, porém, vamos explicar cada um dos seus atributos. O atributo value define qual a URL que será processada. O valor definido nesse atributo pode ser uma string, que representa uma URL diretamente, ou uma expressão, que será avaliada antes de ser processada pela tag.

O atributo var define qual o nome da variável onde será armazenado o resultado do processamento da URL, assim, poderemos usar esse resultado em vários lugares dentro da página usando a funcionalidade c:out, por exemplo.

O atributo scope define em qual escopo a variável definida pelo atributo var será armazenada. Se ele não for especificado, o default é a página.

Versão 5.3 - Todos os Direitos reservados