前端页面功能模块化拆分
当一个系统的功能很多时,不可能所有功能模块的页面都写在一个页面里面,这时就需要将不同功能模块的页面拆分出去,就像模板一样,需要哪块的功能就调用哪块的页面,然后加载相应数据并展示到相应的页面。
本应用的使用spring+struts+mybatis+jsp的方式,用两种方案来完成前端页面功能的拆分。
方案一:
在JSP页面中,利用EL表达式或者java代码的方式,在后台完成页面数据的填充。然后在js中来完成页面的切换。
jsp代码:
业务详情模块页面:riskDetailItem.jsp页面代码使用EL表达式完成数据填充。
<div class="col-12 b-b"> <table class="table table-form" style="font-size: 14px;"> <tr> <td class="m_c" width="180px">客户名称 </td><td width="200px">${loanRiskBean.cusName}</td> <td class="m_l" width="180px">贷款金额 </td><td>${loanRiskBean.dueBillAmount} 元</td> </tr> </table> </div>
struts的xml文件代码:
<action name="riskDetailItem" class="riskRecheckAction" method="detailItem"> <result name="success">/WEB-INF/jsp/riskrecheck/riskDetailItem.jsp</result> </action>
Action中的代码:
private LoanRiskBean loanRiskBean; public String detailItem(){ try{ loanRiskBean = riskRecheckServiceImpl.detailItem(riskId);--调用service中的方法查询数据 }catch(Exception e){ e.printStackTrace(); LoggerUtil.info("查看详情出现异常!------detailItem()"); throw new RuntimeException("查看详情出现异常!"); } return SUCCESS; } public void setLoanRiskBean(LoanRiskBean loanRiskBean) { this.loanRiskBean = loanRiskBean; }
js中的代码:
$(document).on('click','.related',function(){ var loanid = $(this).attr("loanid"); var urlSwitch = "/hbpost/riskRecheck/riskRelatedItemSwitch.action"; var url = "/hbpost/riskRecheck/riskRelatedItem.action?time="+new Date()+"&loanid=" + loanid; //声明详情查询方法 var relatedInfo = function(){ $.ajax({ url:url, type:'get', dataType:'json', success:function(data){ } }) } //请求加载相关组成员信息页面,并展示在dialog中 $.ajax({ url:urlSwitch, type:"get", success:function(data){ relatedInfo();//调用详情查询方法 relatedDialog=$dialog({ id:'relatedDialog', width:1000, title:"相关信息", cancelValue:'关闭', content:data, onshow:function(){ $(".artui-dialog").css("max-height","450px"); $(".artui-dialog").css("min-height","300px"); $(".artui-popup").css("left","330px"); $(".artui-popup").css("top","130px"); } }).showModal(); } }) })
第二种方案:
在相应功能模块的JSP页面中,只是静态代码,需要在js中进行数据的填充,但是因为相应的jsp功能模块页面还没有加载(尽管可以在功能模块jsp页面引入相应的js,或者利用sea.js来加载js文件,但是本质是html或者jsp页面加载时才会加载相应的js文件),所以不能在js中领用jquery来获取页面的dom元素。这时,就需要先加载jsp页面,例如可以在struts处进行一个页面的跳转,而不需要向后台发起请求。也就是说需要向后台发起两次请求,第一次请求是加载相应的功能模块页面,第二次请求是向后台请求数据,然后填充到第一次请求的页面中,并展示出来。
jsp代码:都是静态代码
<div class="relatedInfo mainBusiness" style="overflow:auto;width:100%;*+width:1000px;"> <div style="width:1300px;padding-left:20px;padding-right:20px;"> <h5>经营名称不一致</h5> <table class="grid table table-striped addtable"> <thead> <tr> <th style="width:35px;">客户名称</th> <th style="width:40px;">借据金额</th> </tr> </thead> <tbody> </tbody> </table> </div> </div>
struts中的xml文件:
<action name="riskRelatedItem" class="riskRecheckAction" method="relatedItem"> </action> <!-- 跳转到相关组页面 --> <action name="riskRelatedItemSwitch" class="riskRecheckAction" method="relatedItemSwitch"> <result name="success">/WEB-INF/jsp/riskrecheck/riskRelatedItem.jsp</result> </action> 或者是: <!-- 跳转到相关组页面 -->不用再Action处写相应的方法,struts就负责了跳转。 <action name="riskRelatedItemSwitch" class="riskRecheckAction"> <result>/WEB-INF/jsp/riskrecheck/riskRelatedItem.jsp</result> </action>
Action中的代码:
/** * 根据loanid查询相关组成员信息 */ public void relatedItem(){ List<LoanRiskBean> tmpRelatedList = null; try { tmpRelatedList = riskRecheckServiceImpl.relatedItem(loanid); this.outputStreamModelAndView(tmpRelatedList); } catch (Exception e) { e.printStackTrace(); LoggerUtil.info("查看相关组成员信息出现异常!-----relatedItem()"); throw new RuntimeException("查看相关组成员信息出现异常!"); } } /** * 跳转到相关成员组页面 * @return */ public String relatedItemSwitch(){ return SUCCESS; }
js中的代码:
/** * 贷后专项检查录入信息展示--客户信息【相关】组展示 */ $(document).on('click','.related',function(){ var loanid = $(this).attr("loanid"); var urlSwitch = "/hbpost/riskRecheck/riskRelatedItemSwitch.action"; var url = "/hbpost/riskRecheck/riskRelatedItem.action?time="+new Date()+"&loanid=" + loanid; //查询相关成员组信息,并循环判断append到页面 var relatedInfo = function(){ $.ajax({ url:url, type:'get', dataType:'json', success:function(data){ var tmpArray = data.object,,tipStr; for(var i = tmpArray.length-1; i >= 0; i--){ tipStr = tmpArray[i].tipstr; if(tipStr == "住址相同"){ $(".sameAddress tbody").append("<tr><td>"+tmpArray[i].cusName+"</td><td>" +tmpArray[i].duebillNo+"</td></tr>"); $(".sameAddress").css("display","block"); continue; } } } }) } //请求加载相关组成员信息页面,并展示在dialog中 $.ajax({ url:urlSwitch, type:"get", success:function(data){ relatedInfo(); relatedDialog=$dialog({ id:'relatedDialog', width:1000, title:"相关信息", cancelValue:'关闭', content:data, onshow:function(){ $(".artui-dialog").css("max-height","450px"); $(".artui-dialog").css("min-height","300px"); $(".artui-popup").css("left","330px"); $(".artui-popup").css("top","130px"); } }).showModal(); } }) })
相关推荐
### jsp、struts、spring、mybatis实现前端页面功能模块化拆分的方案 #### 概述 本文档详细介绍了如何使用jsp、struts、spring、mybatis等技术实现前端页面的功能模块化拆分。当一个系统拥有大量的功能模块时,将...
本方案主要探讨如何利用jsp、struts、spring、mybatis这四款经典的技术框架实现前端页面的模块化。 首先,JSP(JavaServer Pages)作为动态网页技术,用于生成HTML内容。在方案一中,JSP页面通过EL(Expression ...
Struts2、Maven、Spring和MyBatis是Java Web开发中的四大框架,它们的整合应用可以构建出高效、模块化的应用程序。这个实例是关于如何将这些技术融合在一起,实现一个用户注册的功能。 首先,Struts2是一个基于MVC...
Struts2SpringMybatis 增删改查,里面的Struts2,spring,Mybatis配置文件都是模块化的管理,实现了社会版本的配置,不再是个人玩弄的小项目。具体的 sql语句也已经加到了WEBRROT目录下面了,自己下载下来可以详细看...
总的来说,"struts2+spring+mybatis+easyui"的实现是一个标准的Java Web项目结构,它利用Maven进行构建管理,通过整合四个组件,实现了后端的业务逻辑处理、数据访问和前端的用户界面展示。这种架构在实际开发中具有...
Struts、Spring 和 MyBatis 是Java开发领域中三大著名框架,它们的组合常被称为SSM框架,用于构建高效、可扩展的企业级Web应用程序。在这个项目中,它们被用来实现一个基本的增删改查(CRUD)功能,这是任何数据库...
在IT行业中,构建大型企业级应用时,常常需要将多个框架进行整合,以实现高效、模块化的开发。这里提到的"spring4 struts2 mybatis3 maven3 整合"就是一个典型的Java Web开发技术栈,分别代表了Spring Framework 4、...
Struts+Spring+Mybatis+EasyUI(jQuery)注解案例。采用注解的方式跟踪代码依赖性,实现替代配置文件功能。里面包含了平时用的增删改查及分页,分页查询时用的是存储过程,提高了数据库的性能。代码简单、易懂。
同时,Spring的AOP模块可以用于实现如日志记录、权限控制等通用功能。 **MyBatis框架** MyBatis是一个优秀的持久层框架,它允许开发者编写SQL语句并与Java代码进行深度融合。MyBatis消除了几乎所有的JDBC代码和参数...
Spring提供了全面的结构化和依赖注入功能,Struts2则是一个强大的MVC(Model-View-Controller)框架,而MyBatis则是一个优秀的持久层框架,实现了SQL与Java代码的解耦。当这三者结合使用时,可以构建出高效、可维护...
Struts2、Spring和MyBatis是Java开发中三大核心框架,它们的整合使用能够构建出高效、松耦合的企业级应用。这个最新的Struts2 Spring MyBatis整合的Demo项目是一个典型的MVC架构,旨在展示如何将这三者有效地集成在...
在这个"spring+struts+mybatis整合项目"中,我们将深入探讨这三个框架如何进行集成,以及它们各自的核心功能。 **Spring框架** 是一个全面的企业级应用开发框架,它提供了依赖注入(DI)和面向切面编程(AOP)等...
本DEMO以Spring 3.2.6、Struts 2.3.15和MyBatis 3为技术栈,展示了如何将这三者进行高效整合,实现灵活、松耦合的业务逻辑处理。 首先,Spring作为一款全面的轻量级框架,提供了依赖注入(DI)和面向切面编程(AOP...
这个系统利用了Struts、Spring和MyBatis三个核心框架,构建了一个功能完善的后台管理系统。 Struts是Apache组织下的一个开源项目,主要用来解决Java Web应用中的表现层问题。它遵循MVC(Model-View-Controller)...
Spring与Struts2、Mybatis整合后形成的SSM框架,是目前Java开发中广泛使用的一种架构模式。 **Spring框架基础** Spring框架主要由以下几个核心概念构成: 1. **控制反转(Inversion of Control,IoC)**:是一种...
Spring、Struts和MyBatis是Java开发中的三大开源框架,它们共同构建了一个灵活且功能强大的Web应用程序。这个完整项目展示了如何将这三个框架整合在一起,实现高效的数据持久化、业务逻辑处理以及用户界面控制。 ...
在Struts2和MyBatis的整合中,Spring可以协调这两个框架,管理Struts2的Action和MyBatis的Mapper接口,实现依赖注入和事务控制。 整合这三大框架的过程主要包括以下几个步骤: 1. 配置Spring:创建Spring的配置...
总结,这个“简易个人博客平台 struts+mybatis实现”项目为初学者提供了一个实际的编程练习案例,通过学习和实践,可以加深对Java Web开发流程、Struts2和MyBatis框架的理解,以及对前端CSS和JavaScript的运用。...
在SSM架构中,Spring主要负责管理和协调其他组件,如初始化Struts2和Mybatis,实现依赖注入,以及管理事务。Spring的AOP特性使得可以方便地进行日志记录、权限控制等切面操作。 **Mybatis** 是一个轻量级的持久层...
在Java Web开发领域,SSM(Spring、Struts2、MyBatis)框架的组合被广泛使用,因其灵活性和强大的功能而备受青睐。本篇文章将深入探讨这个经典组合的集成过程,并以"spring-mybatis-struts2-master"项目为例,解析其...