我想将javascript变量传递给jsp scriptlet(两者都只在同一个jsp中)。我尝试了以下内容。
enter code here
<html>
<script language="javascript" type="text/javascript">
function submit($i) {
var url=$i;
document.write("url is"+url); //giving me selected url and displaying on browser
window.location.replace("view.jsp?url="+url);
}
</script>
<form method="get" action="/UrlServlet">
<select name="url" id="url" onchoice="submit(value);">
<c:forEach var="dataList" items=${dataList}>
<option value="${dataList.url}">${dataList.url}
</c:forEach>
<%
String name=request.getParameter("url");
out.println(name);//giving me null as output
}
%>
</html>
当我打印名称时,它给出一个空值。你能告诉我出了什么问题吗?当我在javascript中打印$i
值时,它会给我一个来自dataList的url名称。这里dataList是从我的servlet返回的列表。它只给出了正确的值。但是,当我从下拉列表中选择一个网址时,它会在request.getParameter()
给我null。拜托,有人可以帮助我吗?
我试过这个
在JavaScript中的<%String st="<script>document.writeln(v)</script>;"
而不是javascript中的window.location.replace()
。然后我也没有使用getParameter获取url值,而是获得相同的语句<%String st="<script>document.writeln(v)</script>
作为输出。
请帮忙。