2
respostas

Dúvida JSTL

Boa noite,

Queria entender a diferença entre usar o <c:out value="${nome}"> e usar a EL diretamente ${nome}, existe uma diferença na aplicação dos dois?

Obrigado =]

2 respostas

Oi Evandro, tudo bom?

Do jeito que está não tem nenhuma diferença, você está usando as duas formas apenas para imprimir o conteúdo da variável nome.

Acontece que com a tag c:out , você consegue colocar outros comportamentos como escapar um xml gerado. Por exemplo:

Imagine que no formulário o cara digitou no lugar do nome a seguinte informação:

<script>alert("Sou h4ck3r")</script>

Se você utilizar a EL normal, ou seja, ${nome} aparecerá o alert na janela do browser.

Se você utilizar o c:out com a propriedade escapeXml='true', aparecerá exatamente o texto digitado.

Esta é uma das coisas que dá pra fazer com a tag ao invés da EL padrão, uma outra é colocar um texto default se a propriedade não possui um valor.

Abraço!

Joviane, sua explicação para o uso prático foi ótima.