JSP和JavaScirpt数据交互(转)

(转自:http://www.java3z.com/cwbwebhome/article/article5/5585.jsp?id=912

JSP和JavaScirpt数据交互 点击观看演示

   下载源代码

 

〖 作者:不详 〗〖 大小:2k 〗〖 发布日期:2006-05-31 〗〖 浏览:118 〗

 

 

       对于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程序。

 

 

二、页面中的JavaScript的数据如何使用后台的JSP程序的数据

    这个比较简单,直接在JavaScript脚本中用<%=strVar1%>就可以把jsp程序中的数据传递给JavaScript脚本使用了。

三、参考下面例子:

1、test.jsp

<%@ page contentType="text/html; charset=gb2312" %>

<%

  String s1="Hello ";

  String s2="World!!";

%>

<script language="JavaScript">

<!--

/***************************************************************

* JavaScript脚本,放置在页面中的任何位置都可以

* insertclick()函数获取JSP传递到页面中的变量s1,

* 然后就可以在JavaScript中修改这个变量的值,再通过

* post的方式提交给JSP程序来使用。

***************************************************************/

function insertclick(){

  var1 ="<%=s1 %>";

  document.forms["insertForm"].mc.value = var1 + document.forms["insertForm"].mc.value ;

  document.insertForm.submit();

}

//-->

</script>

<!-- html页面form表单,放置在html页面中的位置不限 -->

<form name="insertForm" method="post" action="get.jsp">

<!-- 下面这一句是获取JSP程序中传递过来的变量值 -->

<input type="hidden" name="mc" value="<%=s2 %>">

<input type="button" value="提交" onclick="insertclick()">

</form>

2、get.jsp

<%

  String strVar1=request.getParameter("mc");

  out.print(strVar1);

%>