Pergunta

Eu sou um novato JSP, eu entendo que há algum tipo de arquivos taglib como eu entendo que eles são algum tipo de personalizado definido tags JSP. Aqui está um trecho de código javascript que eu não entendo:

Polygon.viewPoint = function( index ){  
        window.${ec:safeId('polygon.view')}.Point( Page.ListofPoints.elements[index], index, 100 );
        Page.changeRowColor('row_'+index);
        Page.getProximityList( index );         
        Page.infoWindowLocation = Page.ListofPoints.elements[index];
    }

A questão javascript não é realmente importante, o que eu estou interessado é este ${ec:safeId('poygon.view')} parte eu entendo que esta parte é algum tipo de variável, e que é injetado de algum lugar. Provavelmente daqui <%@ taglib uri="/WEB-INF/tld/tagli-ec.tld" prefix="ec"%> ou talvez não .. Alguém pode explicar o que é com este $ após a janela .. o que isso representa?

Foi útil?

Solução

Para começar, a sintaxe ${} é a EL (Expression Language) sintaxe. Se você estiver familiarizado com Scriptlets, isto é como sintaxe <%= %> ou em caso de PHP a sintaxe <?= ?> (que se torna obsoleto na versão futura embora). É basicamente apenas acessa e imprime as variáveis ??controladas lado do servidor no lado do servidor antes de enviar a resposta para o lado do cliente. Se você fizer uma 'view source' em seu web browser, você verá que ele já é analisado / avaliadas.

Depois há a sintaxe ${tagprefix:functionname} que representa funções EL fortes. Ao ponto, este permite definir métodos Java estáticos que leva alguns argumentos e retorna o resultado que pode ser acessado a EL. JavaRanch tem um muito bom FAQ sobre isso. A JSTL por exemplo, tem também uma muito útil functions taglib .

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