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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人国产精品 | chinesespanking调教 | 91桃花视频| 男女刺激高清视频在线观看 | 国产精品嫩草影院在线看 | 母爱成瘾在线观看 | 日本道色综合久久影院 | 亚洲 日韩经典 中文字幕 | 美女在线看永久免费网址 | 亚洲另类老妇videos | 四虎影视库永久在线地址 | chinese国产打屁股 | 免费人成黄页在线观看69 | 四缺一写的小说 | 国产精品视频第一页 | 97色轮| 手机在线观看国产精选免费 | 全黄一级裸片视频免费 | 国产精品资源在线观看 | 小早川怜子视频在线观看 | 成年人免费看的视频 | 小小水蜜桃视频高清在线观看免费 | 亚洲国产精品婷婷久久久久 | 日韩精品欧美国产精品亚 | 特黄aa级毛片免费视频播放 | 欧美1级 | 国产精品高清视亚洲一区二区 | 日韩视频一| 性xxxx中国老妇506070 | 特黄特黄aaaa级毛片免费看 | 欧美一区二区三区gg高清影视 | 国产大秀视频 | 办公室里被迫高h | 欧美日本一道高清免费3区 欧美人做人爱a全程免费 | 四虎免费看黄 | 美女牲交毛片一级视频 | 国产-第1页-草草影院 | 俄罗斯一级淫片 | 国产青草亚洲香蕉精品久久 | 成人福利网站含羞草 | 精品亚洲视频在线观看 |