如何从jsp标签内部访问函数中的变量
Posted
技术标签:
【中文标题】如何从jsp标签内部访问函数中的变量【英文标题】:How to access a variable in a function from inside a jsp tag 【发布时间】:2013-03-23 08:14:19 【问题描述】:我有以下功能:
<script>
function assign()
var val = "";
val = document.form1.text1.value;
alert(val);
我想访问 jsp 标记内的变量 val 的值,以便我可以将它作为字符串传递给 googlePlus 方法。我尝试将 var val 作为全局变量,但它不起作用。如何访问以下代码中的变量 val?
<%
String output = "";
if ( Boolean.valueOf(request.getParameter("submitted")) == true )
Scraping h = new Scraping();
output = h.googlePlus();
%>
【问题讨论】:
您无法访问该变量。您的 JSP/Java 代码在 Web 服务器上运行,而您的 javascript 在浏览器中运行——两者都无法访问对方的变量。您可以提交包含值来自的字段的表单,并将其作为请求参数进行访问。或者从您的 JS 发出 Ajax 请求,Java 将再次接收该值作为请求参数... 【参考方案1】:您可以使用赋值运算符将变量的值分配给某个隐藏的 JSP 字段,然后使用 document.getElementById() 在 JS 中使用它。代码有点像:
<input type="hidden" value="<%=output%>">
或者,如果您的 js 仅驻留在 JSP 中
var s = "";应该管用!
干杯!
【讨论】:
【参考方案2】:您不能通过 JSP Java 代码访问 javascript 变量。
您的 JSP 和 Java 代码在服务器端编译。
您的 javascript 在浏览器中运行。
所以通过表单提交、ajax 或其他方式将“val”变量发送到您的 servlet。
【讨论】:
以上是关于如何从jsp标签内部访问函数中的变量的主要内容,如果未能解决你的问题,请参考以下文章