如何从标签lib中调用javascript函数?

时间:2015-02-17 10:19:28

标签: java javascript jquery taglib jspx

好吧,我有一个关于javascript的问题,如何从jsp或jspx文件调用js函数。

在我的jspx页面上,我有一个循环,它将数据添加到表中,这里是代码示例

<c:forEach items="${loadList}" var="load">
   <tr>
     <td>
       <nobr><c:out value="${load}"/></nobr>
     </td>
  </tr>
</c:forEach>

这里第3行表示c:out on load var打印为

55.959090909090904
118.94545454545454
133.46818181818182
19.727272727272727

等值。 所以我写了一个js函数来将这些值舍入为

55.95
118.94
133.46
19.72

JS功能

function roundOfValue(value, limit) {
    value = value.toFixed(limit);
    return value;
}

我试图在c:out as

中调用此函数
<nobr><c:out value="roundOfValue(${system},2);"/></nobr>

但是这不会调用该函数并在UI上打印相同的内容。有没有办法调用此函数将打印舍入值。

我甚至尝试了以下但是它不起作用

1. <c:forEach items="${systemList}" var="system" varStatus="row">
2.  <tr><td id="load">
3.   <nobr><div id="div"></div>
4.    <script>
5.     document.getElementById(div).innerHTML =  roundOfValue(${system},2);
 6.   </script></nobr>
4.  </td></tr>
5. </c:forEach>

请建议执行此操作的一些步骤。 谢谢

1 个答案:

答案 0 :(得分:0)

使用JSTL而不是JS:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

<nobr><fmt:formatNumber value="${load}" pattern="0.00"/></nobr>