如何将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>