本章节继续讲解如何使用spring mvc和Iframe进行类似ajax的数据提交页面无刷新的效果!!
父页面的功能如下:增删改功能,关键代码如下
<script type="text/javascript">
//Action 操作对象 拥有 add query del 等方法
var Action = {};
//查询
Action.qry = function()
{
document.forms[0].target = "resultIframe";
document.forms[0].action="list.jsp";
document.forms[0].submit();
};
Action.del = function()
{
document.forms[0].target = "delPage";
document.forms[0].action="/del/delRecord.mvc";
document.forms[0].submit();
};
//删除操作完成后的提示
window.actionComplete = function()
{
alert("操作完成!");Action.qry ();
};
</script>
<form action="list.jsp" name="QryForm" method="post" target="resultIframe">
<input name="Sreach" type="button"
class="Sreach" onClick="Action.qry();" value="查找" />
<input type="button" class="btn_4" value="删除"
onClick="Action.del()" />
</form>
<iframe name="resultIframe" style="width:100px;height:100px"/><!-- 查询结果页面-->
<iframe name="delPage" style="display:none;"/><!-- 删除结果页面-->
list.jsp 代码如下:
<html> <body>我是列表页面</body></html>
DelController 代码如下:
@Controller
@JspPkg(value="/")
public class DelController extends BaseActionController {
@Resource(name = "jdbcTemplate")
private JdbcTemplate jdbcTemplate;
public ModelAndView delRecord(HttpServletRequest request,
HttpServletResponse response) throws Exception {
String sql = "DELETE FROM TEST WHERE a = 1 ";
jdbcTemplate.update(sql ,new ArrayList());
return this.getResultPage();//--指向 resultPage.jsp页面
}
}
resultPage.jsp
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>结果处理页面</title>
<%
String function = RequestUtil.getParameter(request,"function","actionComplete");
%>
<script type="text/javascript">
// 添加 || 修改完成
window.initBody = function()
{
var result = new Object();
result.key = '${key}';
result.status = '${status}';
result.message = '${prompt}';
result.prompt = '${prompt}';
result.level = 0;
result.display = true;
window.exist = false;
try{
window.parent.<%=function%>(result);
}catch(E){
window.alert("函数未找到 : function2=[<%=function%>]");
}
};
</script>
</head>
<body onload="initBody();">
结果页面
</body>
</html>
上面就是所有代码,很简单的逻辑,但里面的原理很有用。
上面代码执行的原理大体如下:
查询时,表单把数据提交到resultIframe这个iframe中,利用这个Iframe来展现列表信息;、
删除操作时,表单提交数据到delPage这个隐藏的Iframe中,删除的处理逻辑在DelController 中,最后DelController 将处理结果转向resultPage.jsp页面;这时delPage 中的内容便是resultPage.jsp中的内容;、
resultPage.jsp只做了一件事:页面加载完成后,执行父页面的actionComplete方法;这样父页面就在没有刷新的情况下完成了删除操作
分享到:
相关推荐
12.6.16 编写Spring和Hibernate的配置文件spring-config.xml 12.6.17 编写web.xml 12.6.18 验证示例 12.7 小结 第四篇 J2EE项目案例精选 第十三章 网上调查系统 13.1 系统概述 13.2 需求分析 13.2.1 系统用例图 ...
12.6.16 编写Spring和Hibernate的配置文件spring-config.xml 12.6.17 编写web.xml 12.6.18 验证示例 12.7 小结 第四篇 J2EE项目案例精选 第十三章 网上调查系统 13.1 系统概述 13.2 需求分析 13.2.1 系统用例图 ...
12.6.16 编写Spring和Hibernate的配置文件spring-config.xml 12.6.17 编写web.xml 12.6.18 验证示例 12.7 小结 第四篇 J2EE项目案例精选 第十三章 网上调查系统 13.1 系统概述 13.2 需求分析 13.2.1 系统用例图 ...
Spring-MVC 的“Petclinic”应用程序作为重构对象。 我们从 . 重构有三个版本: small 、 medium和large 。 每个版本都存储在此存储库中的不同分支上。 这三个分支相继建立。 每个重构的大小名称是与原始 Java-only ...
开发你的第一个Spring程序. 学习用struts MVC框架作前端,Spring做中间层,Hibernate作后端来开发一个简单的Spring应用程序。使用Spring MVC框架对它进行重构。
学习用 struts MVC 框架作前端,Spring 做中间层,Hibernate 作后端来开发一个简单的Spring 应用程序。在第4章将使用Spring MVC 框架对它进行重构。
在第4章将使用Spring MVC框架对它进行重构。 本章包含以下内容: 编写功能性测试。 配置Hibernate和Transaction。 载入Spring的applicationContext.xml文件。 设置业务代理(business delegates)和DAO的依赖性。 把...
Spring 快速入门教程──开发你的第一个Spring程序。学习用struts MVC框架作前端,Spring做中间层,Hibernate作后端来开发一个 简单的Spring应用程序。在第4章将使用Spring MVC框架对它进行重构
用户可以自由选择Struts、Spring/MVC,Webwork,Taperstry、JSF这几个web框架。采用TDD的开发方式,使用JUnit测试各层,甚至测试 jsp 输出的 w/o 错误。为了简化开发,预定义好了一套目录结构、基类、用来创建数据库...
用户可以自由选择Struts、Spring/MVC,Webwork,Taperstry、JSF这几个web框架。采用TDD的开发方式,使用JUnit测试各层,甚至测试 jsp 输出的 w/o 错误。为了简化开发,预定义好了一套目录结构、基类、用来创建数据库...
基于SpringBoot,Spring Data JPA,Shiro开发的前后端分离的拥有权限管理的工作系统.具体模块正在开发中..前端 涉及框架 后端框架: 技术 名称 官网 Spring Framework 容器 SpringMVC MVC框架 Spring Data JPA ORM框架...
12.6.16 编写Spring和Hibernate的配置文件spring-config.xml 12.6.17 编写web.xml 12.6.18 验证示例 12.7 小结 第四篇 J2EE项目案例精选 第十三章 网上调查系统 13.1 系统概述 13.2 需求分析 13.2.1 系统用例图 ...
以及基于这些技术的商业化应用程序的开发技巧,在讲解过程中以目前最为流行的开发工具MyEclipse为载体,全面系统地介绍了如何在MyEclipse中开发基于Struts、Hibernate、Spring等主流框架的各种Java应用程序。...
{3.3}String常量重利用}{70}{section.3.3} {3.4}正则表达式}{71}{section.3.4} {3.5}StringBuffer}{75}{section.3.5} {3.6}StringBuilder}{76}{section.3.6} {3.7}StringBuilder与StringBuffer的缺点}{76}{...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
后续,可以用Spring+SpringMVC+MyBatis对项目进行重构。 目的:主要是了解做项目的流程,练习写代码,并不会过分着重于需求的设计。 项目亮点: 对Dao层:自己模拟了Hibernate,手写了一个小型的ORM框架。原理说到底...
优化和重构POM 8.1. 简介 8.2. POM清理 8.3. 优化依赖 8.4. 优化插件 8.5. 使用Maven Dependency插件进行优化 8.6. 最终的POM 8.7. 小结 II. Maven Reference 9. 项目对象模型 9.1. 简介 9.2. POM ...
敏捷板一个类似于简单敏捷板 此工具是为设计和重构练习而构建的。入门这些说明将为您提供在本地计算机上运行并运行的项目的副本,以进行开发和测试。要安装的依赖项Postgres 9.4.15Gradle 4.2.1Jetty 9.4.7构建应用....