2

我需要为jsp分配一个javascript变量。我通过将表单内的 html 隐藏字段提交到服务器来做到这一点。

但最终 jsp 中的值总是 alwasy null。这些jsp代码和javascript在同一个页面中。请看一下代码:

<html>
    <body>
        <form  action= "Custom_DHTMLDashboard_Content.jsp" method="post">
            <input type="hidden" id="hiddenField"    />
            document.getElementById("hiddenField").value = reportID;
            <input type="submit" value="Submit" />
        </form>
    </body>
</html>

<%String MyID = (request.getParameter("hiddenField"));%>
alert("this is scriptlet" + "<%=MyID%>");//always null
4

1 回答 1

0

你需要:

  1. <script>在脚本周围放置标签 ( document.getElementById("hiddenField").value = reportID;)
  2. 定义reportID某处(在你尝试使用它之前)
  3. 使用转义您输出的数据<%=MyID%>。将未经过滤、未经转义的数据输出到页面是制造XSS 漏洞的方式

如果你修复它,那么:

  • 第一次加载页面时,<%=MyID%>将为空
  • 当您提交表单时,它将有一个值
于 2012-07-27T06:53:38.193 回答