如何将JavaScript值传递给JSP中的Scriptlet?
任何人都可以告诉我如何将JavaScript值传递给JSP中的Scriptlet?
您的JavaScript值是客户端,您的脚本正在运行服务器端。 所以如果你想在scriptlet中使用你的javascriptvariables,你需要提交它们。
要实现这一点,可以将它们存储在input字段中并提交表单,或者执行一个ajax请求。 我build议你看看这个JQuery。
我可以提供两种方式,
a.jsp ,
<html> <script language="javascript" type="text/javascript"> function call(){ var name = "xyz"; window.location.replace("a.jsp?name="+name); } </script> <input type="button" value="Get" onclick='call()'> <% String name=request.getParameter("name"); if(name!=null){ out.println(name); } %> </html>
b.jsp ,
<script> var v="xyz"; </script> <% String st="<script>document.writeln(v)</script>"; out.println("value="+st); %>
我把这个问题解释为:
“谁能告诉我如何在JSP中使用JavaScript的值?”
如果是这种情况,这个HTML文件会将服务器计算的variables传递给JSP中的JavaScript。
<html> <body> <script type="text/javascript"> var serverInfo = "<%=getServletContext().getServerInfo()%>"; alert("Server information " + serverInfo); </script> </body> </html>
简单,你不能!
JSP是服务器端,JavaScript是客户端的意思,当时的JavaScript被评估没有更多的“JSP代码”。
如果你说你想从一个jsp的javascript值传递给另一个JavaScript的话,然后使用URLRewriting技术将JavaScriptvariables传递给下一个jsp文件,并访问请求对象中的下一个jsp。
其他方面,你不能这样做。
这是不可能的,因为你所期待的。 但是你可以做这样的事情。 把你的java脚本值传给servlet / controller,做你的处理,然后把这个值传给jsp页面,把它放到你需要的某个对象中。 那么你可以使用这个值,只要你想。
你不能这样做,但你可以做相反的事情:
在你的jsp中,你可以
<% String name = "John Allepe"; request.setAttribute("CustomerName", name); %>
访问js中的variables
<script> var name = "<%= request.getAttribute("name") %>";`enter code here` alert(name); </script>