вопрос относительно JSP и javascript
Вопрос
Я новичок в JSP, я понимаю, что существуют какие-то файлы taglib, поскольку я понимаю, что это своего рода пользовательские теги JSP.Вот фрагмент кода JavaScript, который я не понимаю:
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];
}
Вопрос о javascript на самом деле не так уж важен, меня интересует эта часть ${ec:safeId('poygon.view')}
Я понимаю, что эта часть — это какая-то переменная, и она откуда-то вводится.Наверное отсюда <%@ taglib uri="/WEB-INF/tld/tagli-ec.tld" prefix="ec"%>
а может и нет ..может кто-нибудь объяснить, что это за $ после окна..что оно собой представляет?
Решение
Для начала ${}
синтаксис - это EL (язык выражений) синтаксис.Если вы знакомы со скриптлетами, это похоже на <%= %>
синтаксис или в случае PHP <?= ?>
синтаксис (который, однако, станет устаревшим в будущем выпуске).По сути, он просто получает доступ к переменным, управляемым на стороне сервера, и печатает их на стороне сервера перед отправкой ответа на сторону клиента.Если вы выполните «просмотр источника» в своем веб-браузере, вы увидите, что он уже проанализирован/оценен.
Тогда есть ${tagprefix:functionname}
синтаксис, который представляет EL-функции.По сути, это позволяет вам определять статические методы Java, которые принимают некоторые аргументы и возвращают результат, к которому затем можно получить доступ в EL. JavaRanch есть довольно хороший FAQ по этому поводу.Например, JSTL также имеет очень полезную функцию. functions
библиотека тегов.