我是一个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"%>
或者也许不是..有人可以解释一下这个$后窗口的内容..它代表什么?
答案 0 :(得分:1)
首先,${}
语法是EL (Expression Language)语法。如果你熟悉Scriptlets,这就像<%= %>
语法,或者在PHP的情况下是<?= ?>
语法(虽然在将来的版本中会被弃用)。它基本上只是在将响应发送到客户端之前访问并打印服务器端的服务器端控制变量。如果您在webbrowser中执行“查看源代码”,您将看到它已被解析/评估。
然后有${tagprefix:functionname}
语法代表 EL函数。到目前为止,这使您能够定义静态Java方法,该方法接受一些参数并返回结果,然后可以在EL中访问该结果。 JavaRanch有一个很好的常见问题解答。例如,JSTL还有一个非常有用的functions
taglib。