当前位置:首页 > Web开发 > 正文

所以涉及到JS和JSP值传递问题

2024-03-31 Web开发

JSP 页面凡是嵌入 JS 代码,且 JS、JSP之间需要彼此使用一些变量的值,但JSP代码在处事器运行、JS代码在客户端浏览器运行,所以涉及到JS和JSP值通报问题。其交互方法如下:

1.JS使用JSP中的变量

<% String test = "I am testing !"; // JSP片段中界说变量 %>

<SCRIPT LANGUAGE = "JavaScript" > var tmp = "<%=test %>"; // 通过 "<%=javaCode %>" 引用jsp中的变量、要领等,注意:必然要加双引号 alert(tmp); </SCRIPT >

 

 2.JSP使用JS中的变量

由于JSP代码在处事器运行,无法直接使用客户真个JS代码中的变量。需先把客户真个变量提交随处事器,处事器再接收该变量。

案例如下:将a.jsp页面JS代码段的变量提交随处事器,,JSP片段再获取该变量。

-- 以下是JSP中HTML代码,用于将JS中变量存储到隐藏控件中

 

<!-- 在form中设置隐藏控件,用来存储JS中的值 --> <form action="a.jsp" mothed="post"/> <input type="hidden"> </form>

-- 以下是JSP中JS代码,通过表单将提交本页面(隐藏控件将被提交随处事器)

<script language="javascript"> function setItemValue(){ var tmp = "testing"; document.getElementById("test").value = tmp; // 将JS变量值存储到隐藏控件中 } function submit(){ var frm = document.getElementById("frmAppId"); // 获取表单 frm.submit(); // 对表单进行提交 } </script>

-- 以下是a.jsp中在表单进行提交后,对变量进行接收的代码

<% String test = request.getParameter("test"); // test为隐藏控件名 %>

注意:通过提交form形式使得JSP能够使用JS变量会刷新本页面,在页面不需要连结状态情况下可以考虑使用。否则,可以通过Ajax进行异步通信。

参考原文:https://www.cnblogs.com/chenyongjun/p/3541842.html  

js和jsp之间彼此传值

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/29943.html