Nas aulas de Servlet, para acessarmos um atributo utilizamos a Expression Language ${???}. E nesta utilizamos #{???},a alguma diferença entre às duas?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Nas aulas de Servlet, para acessarmos um atributo utilizamos a Expression Language ${???}. E nesta utilizamos #{???},a alguma diferença entre às duas?
Funcionalmente, ${} pode fazer apenas um get, enquanto o #{} pode fazer um get e um set do valor.
Todas as expressões que usam a sintaxe ${} são avaliadas imediatamente. Essas expressões só podem ser usadas no texto do model ou como o valor de um atributo de tag JSP que pode aceitar expressões de tempo de execução. [...] As expressões de avaliação imediata são sempre expressões de valor somente leitura. A expressão mostrada acima só pode obter o preço total do feijão do carrinho; não pode definir o preço total.
As expressões de avaliação adiada assumem a forma #{expr} e podem ser avaliadas em outras fases do ciclo de vida de uma página, conforme definido por qualquer tecnologia que esteja usando a expressão. No caso da tecnologia JavaServer Faces, seu controlador pode avaliar a expressão em diferentes fases do cic
Muito obrigado!