我需要为 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
最佳答案
你需要:
- 输入
<script>
脚本周围的标签 (document.getElementById("hiddenField").value = reportID;
) - 定义
reportID
某处(在你尝试使用它之前) - 转义您使用
<%=MyID%>
输出的数据.将未过滤、未转义的数据输出到页面是您制作 XSS vulerabilities 的方式
如果你解决了这个问题:
- 第一次加载页面时,
<%=MyID%>
将为空 - 当您提交表单时,它将有一个值
关于javascript - 将javascript变量分配给同一页面中的jsp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11682706/