我有一个名为 urlStat 的自定义标记属性,该属性具有动态值,因此我创建了一个专用于确定属性值的函数,如下所示:
function getTag() {
console.log("-------------SUCCESS---------------");
var questionId = ${question.idQuestion};
var values = {};
<c:forEach var="item" items="${tags}">
values['${item.key}'] = '${item.value}';
</c:forEach>
return values[questionId];
}
Ps:标签是地图。
然后我在属性 urlStat 中调用了该方法:
<ser:page headerAff="true" navAff="true" footerAff="false"
urlStat= "getTag()">
但是代码没有执行,我什至在控制台视图中都看不到成功消息。
此解决方案出了什么问题?
我还尝试直接从属性中读取值:
urlStat= "${ tags.[question.idQuestion] }"
但是我收到EL解析错误。
答案 0 :(得分:1)
原因是由于浏览器或应用程序不知道属性getTag()
的含义,因此无法确保执行urlStat
方法
<ser:page headerAff="true" navAff="true" footerAff="false"
urlStat= "getTag()">
如果要执行此操作,可以更改为以下代码:
<ser:page headerAff="true" navAff="true" footerAff="false">
<script type="text/javascript">
getTag();
</script>
</ser:page>