【问题标题】:How to call a JavaScript function within a JSP tag attribute如何在 JSP 标记属性中调用 JavaScript 函数
【发布时间】:2018-07-11 09:15:52
【问题描述】:

我有一个名为 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 解析错误。

【问题讨论】:

标签: javascript jsp jstl el


【解决方案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>

【讨论】:

  • 感谢您的回答,不幸的是我无权这样做。我将在上面的描述中添加另一个命题。
猜你喜欢
  • 2015-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-25
  • 2010-09-18
  • 1970-01-01
  • 2010-10-20
  • 1970-01-01
相关资源
最近更新 更多