Pergunta

Escrevendo uma página JSP, o que exatamente faz o <c:out> Faz? Eu notei que o seguinte ambos tem o mesmo resultado:

<p>The person's name is <c:out value="${person.name}" /></p>
<p>The person's name is ${person.name}</p>
Foi útil?

Solução

c:out Escape os caracteres HTML para que você possa evitar scripts cruzados.

E se person.name = <script>alert("Yo")</script>

O script será executado no segundo caso, mas não quando estiver usando c:out

Outras dicas

Como dito Will Wagner, na versão antiga do JSP, você sempre deve usar c:out Para produzir texto dinâmico.

Além disso, usando esta sintaxe:

<c:out value="${person.name}">No name</c:out>

Você pode exibir o texto "sem nome" quando o nome é nulo.

c:out também tem um atributo para atribuir um valor padrão se o valor de person.name por acaso é nulo.

Fonte: OUT (documentação gerada pelo TLDDOC)

Você pode ativar explicitamente a escape de entidades XML usando um valor de escapexml de atributo é igual ao true. Para sua informação, é por padrão "True".

As versões mais antigas do JSP não suportaram a segunda sintaxe.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top