JSP数据和JavaScirpt数据交互使用问题的一种解决方法

来源:互联网 发布:言语理解怎么提高 知乎 编辑:程序博客网 时间:2024/05/16 19:14
JSP数据和JavaScirpt数据交互使用问题的一种解决方法    
          对于WEB程序来说,前端(JavaScript)和后端(JSP/Servlet)是没法共用数据的,只能是后端程序(JSP)把数据输出,生成页面到前端,这时候生成的页面中的JavaScript代码才有可能得到所谓jsp的数据。同样的,只有把JavaScript里的数据提交给后端JSP代码,JSP程序中才能得到JavaScript的数据。  
   
          那如何实现在页面的JavaScript中使用jsp中的数据或是在jsp中使用页面的JavaScript数据呢?  
   
  一、页面中的JavaScript的数据如何提交给后台的jsp程序  
          ①   可以将JavaScript的数据以xxx.JSP?var1=aaa&var2=bbb的形式作为URL的参数传给JSP程序,此时在jsp中用  
  <%String   strVar1=request.getParameter("var1");%>就可以获取到JavaScript脚本传递过来的数据;  
          ②   使用JavaScript通过在表单里加入隐藏域信息,然后用表单提交的方式把数据传递给JSP程序。  
   
  参考下面的脚本:  
  <script   language="JavaScript">  
  <!--  
  /***************************************************************  
  *   JavaScript脚本,放置在页面中的任何位置都可以  
  *   insertclick()函数获取JSP传递到页面中的变量varMC,  
  *   然后就可以在JavaScript中修改这个变量的值,再通过  
  *   post的方式提交给JSP程序来使用。  
  ***************************************************************/  
  function   insertclick(){  
  var1   =   document.all.mc.value;   //获取页面form中的变量值  
  var1   =   var1   +   "名称";  
  document.insertForm.submit();  
  }  
  //-->  
  </script>  
   
  <!--   html页面form表单,放置在html页面中的位置不限   -->  
  <form   name="insertForm"   method="post"   action="yourJSP">  
  <!--   下面这一句是获取JSP程序中传递过来的变量值   -->  
  <input   type="hidden"   name="mc"   value="<%=varMC%>">  
  <input   type="button"   value="提交"   onclick="insertclick()">  
  </form>  
   
  二、页面中的JavaScript的数据如何使用后台的JSP程序的数据  
          这个比较简单,直接在JavaScript脚本中用<%=strVar1%>就可以把jsp程序中的数据传递给JavaScript脚本使用了。  
   
  参考下面的脚本:  
   
  <!--   html页面form表单,放置在html页面中的位置不限   -->  
  <form   name="insertForm"   method="post"   action="yourJSP">  
  <input   type="hidden"   name="mc"   value="">  
  </form>  
   
  <script   language="JavaScript">  
  <!--  
  /***************************************************************  
  *   JavaScript脚本,放置在页面中form以后的任何位置都可以  
  *   使用JavaScirpt获取JSP传递到页面中的变量varMC,  
  *   然后就可以在JavaScript中使用这个变量的值,通过  
  *   JavaScript脚本赋值给form中的隐藏域。  
  ***************************************************************/  
  var1   =   "<%=varMC%>";   //获取JSP中的变量值  
  document.all.mc.value   =   var1;  
  //-->  
  </script>