setAttribute

3 respostas
E

quando em uma action eu coloco :

request.setAttribute("mensagem","Operação efetuada com sucesso !");

depois eu resgato essa mensagem com:

<c:if test="${mensagem!=null}">

<tr>

<td>

<strong>



<c:out value="${mensagem}"/>



</strong>

</td>

</tr>

</c:if>

eu sei que isso funciona, mas eu sou iniciante teria como alguém me explicar o que significa esse código?
Grato

3 Respostas

P

Verifique no seu web.xml, se a taga <web-app> está com a versão 2.4. Se estiver, você pode fazer simplesmente

${mensagem}

O core:out é usado pra “guspir” conteúdo de EL nas versões mais antigas.

V

request - a requesição da página ao servidor, sendo dinamica a um response
session - um objeto onde será armazenado alguns dados necessários aplicação para que o usuario intereja melhor, navegando normalmente por outra páginas (login, sabe o carrinho de compra de ecomerce )
context - umobjeto que guarda parametros disponibilizados para toda a aplicação

setAttribute() serve para todos os objetos acima, e tambem o getAttribute()

no seu caso toda vez que esse servlet for requisitado no servidor haveráuma parametro de nome “mensagem” e de valor um objeto String com “Operação efetuada com sucesso !”
setAttribute() seta no request um parametro para ser montado no html

T

Isso se chama JSTL, foi criado para evitar a injeção de scriptlets (codigos ‘JSP’ )em código HTML. O primeiro código (" <c:if test="${mensagem!=null}"> ") seria o equivalente a usar isso em JSP

<% if ( request.getAttribute("mensagem") != null ) {%>

Códigos HTML

<%}%>

já o segundo código, ao invés de você usar:

<%=request.getAttribute("mensagem");%>

usa-se o que você escreveu

Criado 9 de agosto de 2006
Ultima resposta 9 de ago. de 2006
Respostas 3
Participantes 4