日期:2014-05-16  浏览次数:20387 次

JSP和JavaScirpt数据交互及特殊字符处理
JSP数据和JavaScirpt数据交互
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脚本使用了。
?
比较常用的是用脚本表达式赋值给一个JS变量,但这种情况当表达式的内容中含有特殊字符(如:“‘ \r? \n 等等)时JS会解析错误而不能往下执行。原因