js 和jsp交互

js和jsp交互2010-03-0422:36:36|分类:个人日记|标签:|字号大中小订阅.

对于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中用

<%StringstrVar1=request.getParameter("var1");%>就可以获取到JavaScript脚本传递过来的数据;

②使用JavaScript通过在表单里加入隐藏域信息,然后用表单提交的方式把数据传递给JSP程序。

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

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

三、参考下面例子:

1、test.jsp

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

<%

Strings1="Hello";

Strings2="World!!";

%>

<scriptlanguage="JavaScript">

<!--

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

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

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

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

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

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

functioninsertclick(){

var1="<%=s1%>";

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

document.insertForm.submit();

}

//-->

</script>

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

<formname="insertForm"method="post"action="get.jsp">

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

<inputtype="hidden"name="mc"value="<%=s2%>">

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

</form>

2、get.jsp

<%

StringstrVar1=request.getParameter("mc");

out.print(strVar1);

%>

相关推荐