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

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的父页面,并非本页;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值