前端页面功能模块化拆分

当一个系统的功能很多时,不可能所有功能模块的页面都写在一个页面里面,这时就需要将不同功能模块的页面拆分出去,就像模板一样,需要哪块的功能就调用哪块的页面,然后加载相应数据并展示到相应的页面。
本应用的使用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文件代码:
* http://www.dotdy.com/
<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实现前端页面功能模块化拆分的方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# 前端页面功能模块化拆分
# javascript模块化是什么及其优缺点介绍
# 详解Js中的模块化是如何实现的
# Javascript模块化编程详解
# Javascript模块化编程(三)require.js的用法及功能介绍
# JavaScript的模块化:封装(闭包)
# 继承(原型) 介绍
# Javascript模块化编程(一)模块的写法最佳实践
# 详解JavaScript模块化开发
# Javascript模块化编程(一)AMD规范(规范使用模块)
# JavaScript模块化之使用requireJS按需加载
# 关于Javascript模块化和命名空间管理的问题说明
# JS前端模块化原理与实现方法详解
# 加载
# 组成员
# 跳转到
# 相关信息
# 跳转
# 小编
# 查看详情
# 都是
# 不可能
# 就像
# 在此
# 两种
# 两次
# 能在
# 给大家
# 或者是
# 在一
# 要向
# 中来
# 时才
相关文章:
建站之星在线版空间:自助建站+智能模板一键生成方案
微课制作网站有哪些,微课网怎么进?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
如何在景安服务器上快速搭建个人网站?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
如何高效配置IIS服务器搭建网站?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
建站之星如何实现五合一智能建站与营销推广?
表情包在线制作网站免费,表情包怎么弄?
如何通过VPS建站无需域名直接访问?
移民网站制作流程,怎么看加拿大移民官网?
高端企业智能建站程序:SEO优化与响应式模板定制开发
如何破解联通资金短缺导致的基站建设难题?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
网站制作费用多少钱,一个网站的运营,需要哪些费用?
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
Bpmn 2.0的XML文件怎么画流程图
建站之星如何取消后台验证码生成?
大同网页,大同瑞慈医院官网?
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
北京网站制作的公司有哪些,北京白云观官方网站?
青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?
,网页ppt怎么弄成自己的ppt?
广平建站公司哪家专业可靠?如何选择?
代刷网站制作软件,别人代刷火车票靠谱吗?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
如何高效利用200m空间完成建站?
网站制作软件有哪些,制图软件有哪些?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
自助网站制作软件,个人如何自助建网站?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
如何快速搭建安全的FTP站点?
建站168自助建站系统:快速模板定制与SEO优化指南
如何在阿里云服务器自主搭建网站?
如何快速搭建二级域名独立网站?
如何配置FTP站点权限与安全设置?
昆明网站制作哪家好,昆明公租房申请网上登录入口?
如何在阿里云香港服务器快速搭建网站?
大连 网站制作,大连天途有线官网?
如何自定义建站之星模板颜色并下载新样式?
如何快速上传自定义模板至建站之星?
简单实现Android文件上传
清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?
东莞专业制作网站的公司,东莞大学生网的网址是什么?
盘锦网站制作公司,盘锦大洼有多少5G网站?
如何通过西部建站助手安装IIS服务器?
网站企业制作流程,用什么语言做企业网站比较好?
婚礼视频制作网站,学习*后期制作的网站有哪些?
*请认真填写需求信息,我们会在24小时内与您取得联系。