javascript - 将javascript变量分配给同一页面中的jsp

标签 javascript jsp

我需要为 jsp 分配一个 javascript 变量。我通过向服务器提交表单内的 html 隐藏字段来执行此操作。

但最后在 jsp 中的值总是 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

最佳答案

你需要:

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

如果你解决了这个问题:

  • 第一次加载页面时,<%=MyID%>将为空
  • 当您提交表单时,它将有一个值

关于javascript - 将javascript变量分配给同一页面中的jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11682706/

相关文章:

mysql - 使用 mysql servlet 和 jsp 的 Web 应用程序中的通知

javascript - 匹配可选部分的部分

javascript - HTML 属性中的 Vue.JS 数据

javascript - indexeddb 从对象存储中获取所有键

javascript - 如何将数组传递给java servlet

jsp - 为什么使用 JSP/Servlet?

javascript - "Sys.WebForms.PageRequestManagerServerErrorException: status code: 500"

javascript - Coffeescript、Facebook JS API 和范围

forms - 如何在JSP中禁用下拉列表?

javascript - 如何通过javascript处理JSTL标签