js jsp 数据交互

//Date类型的字段转化为json后会变为object,object],通过以下可以实现,转回

var JsonDateValue = new Date(detail[i][2].time);
var text = JsonDateValue.toLocaleString();


1。js变量获取jsp页面中java代码的变量值。
方法:var JS变量名 = '<%=JAVA变量名 %>'
var id = '${param.id}';
2。java代码获取js变量的值。
说明:在JSP中;Java部分是在服务器端执行的;js部分是在客户端的浏览器执行的;二者完全不相干。因此直接在JSP页面上是无法在js、java和HTML变量之间进行调用的。
变通(解决方案):将js变量放到form中的一个;在后台从form中取出变量放到隐藏域中;然后提交表单给要调用变量的页面。这个页面可以就是本身。示例如下:
bb.jsp页面:
    <% String test5 = (String)request.getAttribute("test4"); %>
      <script type="text/javascript">
       var test1 = '111'; //定义js变量
       document.form(name).test2(id).value = test1;
       //将js变量的值放到form中的一个隐藏域中
       var formObj = document.getElementById('passForm');
       formObj.submit();///不过这种会刷新页面,
      </script>
     <form  method="post" action="aa.jsp" id ="passForm">
     <input id = 'test2' type = 'hidden' name="test2">
     </form> 
  aa.jsp页面中的Java代码:
  <%
    request.setCharacterEncoding("utf-8");
    String txtMsg = request.getParameter("test2");
    out.println(txtMsg);
  %>
注:如果同一个页面自己给自己传值,aa.jsp和bb.jsp可以为同一页面。
3,jsp中用<%@ import=""%>
<%
引用后台java代码
%>
Java-jsp<%request%>
jsp-js(${},<%=%>)
以上两步可以通过用js把原始数据传到java加工数据通过jsp把内容放到隐藏域里面,js拿隐藏域的值实现,java弥补js代码中不能实现的部分
js-java(表单提交,ajax)
js-jsp(隐藏域表单提交,用ajax模拟)
java-js(ajxa)

猜你喜欢

转载自yuhuiblog6338999322098842.iteye.com/blog/2150158