Para que métodos estáticos de classes Java sejam executados ...

Próximas questões
Com base no mesmo assunto
Q80566 Programação
Em relação à tecnologia JavaServer Pages (JSP), julgue os itens a seguir.

Para que métodos estáticos de classes Java sejam executados a partir das funções da linguagem de expressão em JSP, é necessário que o nome da função coincida com o nome do método da classe Java.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - errado

A afirmativa sugere erroneamente que, para executar métodos estáticos de classes Java a partir das funções da linguagem de expressão em JSP (JavaServer Pages), os nomes das funções em JSP precisam coincidir com os nomes dos métodos da classe Java. No entanto, isso não é uma exigência na tecnologia JSP.

Em JSP, a linguagem de expressão (Expression Language - EL) nos permite acessar dados armazenados em objetos, como beans, de uma maneira muito mais simples do que o antigo código Java embutido nas páginas JSP. No entanto, EL por si só não é capaz de chamar métodos estáticos diretamente.

Para utilizar métodos estáticos de uma classe Java em uma página JSP, geralmente fazemos uso de uma tag library (biblioteca de tags) que possa fornecer essa funcionalidade. Uma tag library pode definir funções que podem ser usadas na EL, e essas funções podem estar mapeadas para métodos estáticos de classes Java. Contudo, o nome da função na tag library não precisa necessariamente ser o mesmo que o nome do método estático. A correspondência entre o nome da função na EL e o método estático é definida no arquivo de descrição da tag library (TLD - Tag Library Descriptor), e o desenvolvedor pode nomear a função de EL como preferir.

Portanto, é incorreto afirmar que os nomes das funções em JSP devem coincidir com os nomes dos métodos estáticos nas classes Java, pois essa correspondência é flexível e definida no TLD. Esse mecanismo oferece uma camada de abstração que permite aos desenvolvedores criar uma interface mais amigável para os métodos estáticos quando utilizados nas páginas JSP.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Para que métodos estáticos de classes Java sejam executados a partir das funções da linguagem de expressão em JSP, é necessário que o nome da função coincida com o nome do método da classe Java. A relação entre o nome da função EL e do método público estático de uma classe java é mapeada em um arquivo .TLD
<function>  <name>equals</name>  <function-class>mypkg.MyLocales</function-class>  <function-signature>boolean equals( java.lang.String,    java.lang.String )</function-signature></function>
http://docs.oracle.com/javaee/1.4/tutorial/doc/JSPIntro7.html
Só complementando o comentário de Leonardo com o material de mesma referência:


Na página index.jsp, que importa a biblioteca /functions e invoca a função igual em uma expressão:

	<%@ taglib prefix="f" uri="/functions"%>...    <c:when      test="${f:equals(selectedLocaleString,localeString)}" >

A função na classe Java seria:

	package mypkg;public class MyLocales {  ...  public static boolean equals( String l1, String l2 ) {    return l1.equals(l2);  }}
E o mapeamento do arquivo tld seria:
	<function>  <name>igual</name>  <function-class>mypkg.MyLocales</function-class>  <function-signature>boolean equals( java.lang.String,    java.lang.String )</function-signature></function>

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo