激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 黄色片网站免费在线观看 | 色蜜桃av| 免费午夜视频在线观看 | 97超视频在线观看 | 久久精品久久久久 | 日韩精品中文字幕在线观看 | 国产成人综合在线视频 | 人人舔人人射 | 久久噜噜噜精品国产亚洲综合 | 色综合777 | 成人福利在线观看 | 看毛片电影 | 国产亚洲精品久久午夜玫瑰园 | 91网站永久免费看 | 91精品国产日韩91久久久久久360 | 成人高清网站 | 成年性羞羞视频免费观看 | 欧美日韩综合视频 | 久久久久久久久久久一区 | 激情视频在线播放 | 特逼视频| 91午夜视频 | 免费一级欧美 | 99久久久国产精品 | 国产精品v片在线观看不卡 国产另类一区 | 91久久久久久久一区二区 | 亚洲精品aaaaa | 国产剧情在线观看一区二区 | 99在线热视频 | 国产妇女乱码一区二区三区 | 亚洲五码在线观看视频 | videos韩国 | 销魂美女一区二区 | 欧美特黄a | 一级毛片电影网 | 午夜国产在线 | 欧美伦理一区二区 | 久久精品免费国产 | 天天操综| 国产精品一区在线观看 | 国产69精品99久久久久久宅男 |