如何在 JSP 中访问 javascript 变量?

IT技术 javascript html jsp
2021-03-20 07:20:51

我想在 JSP 代码中访问 Javascript 变量。我怎样才能做到这一点?

3个回答

JavaScript 变量在客户端,JSP 变量在服务器端,因此您无法在 JSP 中访问 javascript 变量。但是您可以将需要的数据存储在隐藏字段中,在客户端设置其值并通过 GET 或 POST 在服务器上获取它。

客户端:

<script type="text/javascript">
var el = document.getElementById("data");
el.value = "Needed_value";
</script>
<form action="./Your_JSP.jsp" method="POST">
<input id="data" type="hidden" value="" />
<input type="submit" />
</form>

服务器端:

<%
if (request.getParameter("data") != null) { %>
 Your value: <%=request.getParameter("data")%>
<%   
} 
%>
请注意此处的“跨站点脚本”问题。
2021-05-06 07:20:51

我遇到了同样的问题。我想在jsp中获取几个数据。我所做的是,在 javascript 函数中,我将数据连接到一个带有分隔符的变量中,并像这样在参数中传递该变量。

function myname()
 {
var fname = "FirstName";
var lname = "LastName";
var fullname = fname+","+lname;
document.location.href = "demopage.jsp?name="+fullname;
}

然后在jsp页面中,我们可以获取全名,

<c:set var="varname" value='<%= request.getParameter("name") %>' />

现在我们可以使用分隔符“,”分割名字和姓氏。

function call()

   {
    var name="xyz";
    window.location.replace=("a.jsp?m="+name);
   }

 String name=request.getParameter("name");

 if(name!=null){
    out.println(name);        
 }