一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - jsp、struts、spring、mybatis實現前端頁面功能模塊化拆分的方案

jsp、struts、spring、mybatis實現前端頁面功能模塊化拆分的方案

2020-07-24 14:05h254532699 Java教程

這篇文章主要介紹了 jsp、struts、spring、mybatis實現前端頁面功能模塊化拆分的方案,非常不錯,需要的朋友參考下

前端頁面功能模塊化拆分

當一個系統的功能很多時,不可能所有功能模塊的頁面都寫在一個頁面里面,這時就需要將不同功能模塊的頁面拆分出去,就像模板一樣,需要哪塊的功能就調用哪塊的頁面,然后加載相應數據并展示到相應的頁面。

本應用的使用spring+struts+mybatis+jsp的方式,用兩種方案來完成前端頁面功能的拆分。

方案一:

在JSP頁面中,利用EL表達式或者Java代碼的方式,在后臺完成頁面數據的填充。然后在js中來完成頁面的切換。

jsp代碼:

業務詳情模塊頁面:riskDetailItem.jsp頁面代碼使用EL表達式完成數據填充。

?
1
2
3
4
5
6
7
8
<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文件代碼:

?
1
2
3
<action name="riskDetailItem" class="riskRecheckAction" method="detailItem"
  <result name="success">/WEB-INF/jsp/riskrecheck/riskDetailItem.jsp</result>
</action>

 Action中的代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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中的代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$(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代碼:都是靜態代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<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文件:

?
1
2
3
4
5
6
<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>

或者是: 

?
1
2
3
4
<!-- 跳轉到相關組頁面 -->不用再Action處寫相應的方法,struts就負責了跳轉。
<action name="riskRelatedItemSwitch" class="riskRecheckAction">
   <result>/WEB-INF/jsp/riskrecheck/riskRelatedItem.jsp</result>
</action>

  Action中的代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/**
 * 根據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中的代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/**
   * 貸后專項檢查錄入信息展示--客戶信息【相關】組展示
   */
    $(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實現前端頁面功能模塊化拆分的方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

原文鏈接:http://blog.csdn.net/h254532699/article/details/54312941

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 韩国三级年轻的小婊孑 | 6080窝窝理论| 午夜无码国产理论在线 | 动漫人物差差插曲漫画 | 亚洲一区二区精品视频 | 白丝校花被扒开双腿喷水小说 | 日韩欧美在线一区二区三区 | 无限时间看片在线观看 | 亚洲国产精品日韩高清秒播 | 国产成人精品一区二区阿娇陈冠希 | 青青热久麻豆精品视频在线观看 | 成人在线观看视频免费 | 丁香五香天堂 | 午夜福利体验免费体验区 | 亚洲乱亚洲乱妇41p国产成人 | 日本午夜小视频 | 西施打开双腿下面好紧 | 亚洲 日本 天堂 国产 在线 | 91嫩草私人成人亚洲影院 | 亚洲AV国产国产久青草 | 鸭子玩富婆流白浆视频 | 四虎在线免费播放 | 久久中文字幕免费高清 | 天天久久综合网站 | 动漫美女羞羞视频 | 国产区综合另类亚洲欧美 | 百合女女师生play黄肉黄 | 扒开双腿疯狂进出爽爽动态图 | 国产午夜精品福利 | 美国一级大黄大色毛片 | 免费在线观看成年人视频 | 性欧美13处丶14处 | 成人午夜视频一区二区国语 | 波多野结衣xxxxx在线播放 | 久久草香蕉频线观 | 免费被靠视频动漫 | 小小水蜜桃视频高清在线播放 | 国产精品毛片va一区二区三区 | 国产亚洲自愉自愉 | 公翁的舌尖研磨她的花蒂小说 | 成年性生交大片免费看 |