如果你有一个 form page 比如 form.jsp 通过 initHandler forward , 在不改或者很少改代码的前提下 如何变成 overlay 效果呢?
具体效果请 访问
http://flowplayer.org/tools/demos/overlay/external.html
实现过程 以简单demo 聚例
demo.jsp
<html>
<head>
<link rel="stylesheet" media="all" type="text/css" href="<c:url value="/resource/css/jquery/ui/overlay-minimal.css"/>" />
<script type="text/javascript" src="<c:url value="/resource/js/jquery/core/jquery-1.4.2.js"/>"></script>
<script src="<c:url value='/resource/js/jquery/customer/jquery.overlay.js'/>"></script>
<script type="text/javascript" src="<c:url value='/resource/js/jquery/customer/jquery.myOverlay.js'/>"></script>
<script type="text/javascript" src="<c:url value="/resource/js/jquery/customer/jquery.form.js"/>"></script>
<script type="text/javascript">
$(function(){
window.personalDoFunc=function(el){
$().myOverlay(el,function(record){
document.getElementById("mytest").innerHTML="返回的结果:name:"+record.name;
});
};
});
</script>
</head>
<body>
<a href="/personEdu/84" onclick="personalDoFunc(this)" >[Add]</a>
<a href="/personEdu/edit_form/157" onclick="personalDoFunc(this)">[Edit]</a>
<div id="mytest">返回的结果:</div>
</body>
</html>
其中 如果需要引用 overlay 需导入 两个 ovelay js 一个css 和jquery core 并且 如果需要form ajax submit 同时要引入 form.js
<link rel="stylesheet" media="all" type="text/css" href="<c:url value="/resource/css/jquery/ui/overlay-minimal.css"/>" />
<script type="text/javascript" src="<c:url value="/resource/js/jquery/core/jquery-1.4.2.js"/>"></script>
<script src="<c:url value='/resource/js/jquery/customer/jquery.overlay.js'/>"></script>
<script type="text/javascript" src="<c:url value='/resource/js/jquery/customer/jquery.myOverlay.js'/>"></script>
<script type="text/javascript" src="<c:url value="/resource/js/jquery/customer/jquery.form.js"/>"></script>
如果 你点击一个连接 本来应该是连接到 另一个 页面如
<a href="/personEdu/84" onclick="personalDoFunc(this)" >[Add]</a>
只要 加上自己定义函数 personalDoFunc(名字任意) 并且实现如下
<script type="text/javascript">
$(function(){
window.personalDoFunc=function(el){
$().myOverlay(el,function(record){
document.getElementById("mytest").innerHTML="返回的结果:name:"+record.name;
});
};
});
</script>
在自定义函数中 显示调用 $().myOverlay(el,callback)方法 其中 el为当前 <a>对象 第二个参数为回调函数 参数record 就是后台返回的对象数据
如例子中我的url 指向personEdu/84 则后台接受如下
@RequestMapping(value = "/{id}",method = RequestMethod.GET)
public String init(@PathVariable("id") Integer personId,Model model) {
PersonEdu personEdu=new PersonEdu();
personEdu.setPersonId(personId);
model.addAttribute("personEdu", personEdu);
return "edu/personEdu";
}
在不加 overlay情况下会跳转到一个 personEdu.jsp的页面 如果加上 就可把 当前页面 内嵌在overlay 的div中
personedu.jsp 中的片段代码
<input type="submit" name="save2" value="保存form Submit" onclick="doSubmit(this)"/>
<a overlay="{url:'/personEdu/overlay2'}"><input type="button" value="普通Ajax" name="overlayUrl"/></a>
两种方法列举了 form submit 和普通的 ajax 如果 普通的ajax 需要自定义 overlay属性 以json格式
后台接受
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public JsonData savePersonEdu(PersonEdu personEdu, Model model,HttpServletRequest request,HttpServletResponse response) throws JSONException {
Integer i=personEdu.getId();
if(i!=null&&i>0){
// this.personEduService.updatePersonEdu(personEdu);
}else{
// i=this.personEduService.addPersonEdu(personEdu);
}
return new JsonData(personEdu);
}
由于时间有限 不明细处望见谅啊 附件中有 overlay 源码 以及 效果图片
分享到:
相关推荐
主机overlay和网络overlay介绍 .pptx
DICOM图像,overlay层,包含只有一层overlay,两侧overlay,overlay加原始图像三种DICOM图像。 不少DICOM开源框架对这种图像支持不够,显示有问题。便于测试系统对带有overlay图像的显示是否正确
Overlay组播Overlay组播Overlay组播Overlay组播Overlay组播Overlay组播Overlay组播Overlay组播
docker清理大杀器/docker的overlay、overlay2文件占用磁盘太大的解决办法
关于FPGA overlay的解释,很有参考价值,对于项目实践很有作用。。。。
Swift 实现的全屏 Overlay 效果,可以用来做一些前卫的设计
Overlay程序设计技术的基本原理是利用模块化设计思想,将任务划分成多个功能模块,在内存中只加载当前需要执行的模块,不加载其他暂不执行的模块。但当其他模块需要执行时,首先将内存中的模块卸载,然后将需要执行的模块...
SPM多重overlay方法,神经成像方面的人做为参考!SPM多重overlay方法,神经成像方面的人做为参考!
1.网络虚拟化技术介绍 2.Overlay基本概览和分类 3.VXLAN基础基础
封装好的overlay 要解决tearing的问题,用overlay
File "OVERLAY.C" - Code to overlay a RichText control over a background
overlay_load test
泛泰a870 device overlay 参考代码
本文介绍OVerlay网络技术原理,从虚拟网络的发展,虚拟网络面临的挑战,overlay如果解决虚拟网络存在的问题,overlay网络的类型,Overlay的主流技术VXLAN的技术基础,报文结构等介绍。
react-native-overlay 是一个 <Overlay /> 组件,视图前端包括内容,无视当前组件树的位置。示例:var React = require('react-native'); var Overlay = require('react-native-overlay'); var BlurView =...
是一个有关shell中如何使用overlayicon接口的代码
glog.overlay-x64_v120_Debug_dynamic -Version 0.3.3.0 OpenCV.overlay-x64_v120_Debug -Version 2.4.10 OpenCV.overlay-x64_v120 -Version 2.4.10 glog.overlay-x64_v120_dynamic -Version 0.3.3.0
2 Overlay技术介绍···························································································...