非ajax提交页面不跳转,java调用javascript详解

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 22:08 点击:

 

java 调用javascript的函数,

 

想必很多人都知道,java调用c++,c++调用java,同样也有java调用javascript,或者是javascript调用java(dwr)

其实java调用javascript很简单,最重要的是你要懂得其中的原理才好,浏览器和服务端的交互无非就是,response和request之间的这两个各对象传值操作,

browse  --(request)-->  服务器端   向服务器发送请求,

服务器  --(response)-->  browse    服务器将处理完成的数据交给浏览器来显示,

 

1.页面不刷新,不跳转

一个A.jsp页面请求服务端的servlet,发送post请求,当处理完成请求以后一般页面会跳转向另外一个B.jsp页面;但是当我们在A.jsp中添加一个隐藏的iframe的时候,并且将from表单的target属性修改为:iframe 的id的时候,我们的页面就不会再跳转了,其实不是不跳转,是转向了那个隐藏的iframe,此时用户就不会感到页面有刷新的操作,用户的体验就会提高;

 

A.jsp:

<html>

<head>

<script>

 

</script>

</head>

<body>

<from action = "sava.jsp/save.action" target="hidden_frame">

 

 

</from>

<iframe name='hidden_frame' id="hidden_frame" style="display:none"></iframe>

</body>

</html>

 

2.页面提交成功以后在本页面提示成功信息,

在服务器端,处理完成请求以后,获取response,用response将要调用的javascript的方法,输出到前台页面,前台页面就可以自动调用javascript的方法,

如果有中文,防止中文乱码:

response.setContentType("text/html;charset=UTF-8");

 

前台显示提示:

response.getWriter().print("<script>alert('操作成功!');</script>");

调用前台的方法:

response.getWriter().print("<script>test();</script>"); 注:test方法必须在提交的页面中

如果提交的页面是iframe进来的,则将javascript放到父页面去,然后通过:

response.getWriter().print("<script>parent.window.test();</script>");注:test方法在此iframe的父页面,并非本页;

 

摘自:古影轩

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • Gb2312转utf-8编码的方法(vbs+js)
      • 如何使用Ajax技术开发Web应用程序(1)
      • js跳转路径问题
      • JavaScript模仿桌面窗口
      • 用js检测两个线段是否相交
      • 运用JavaScript构建你的第一个Metro式应用程序(on Windows
      • 我知道的JavaScript -- 设计模式(桥接)应用之 – 验证器
      • 我是如何去了解jquery的(六),案例之幻灯片轮换
      • Jquery封装幻灯片效果
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1