jsp主版頁面組裝

來源:互聯網
上載者:User

自組裝方法大致如下:把整個頁面的內容劃分到各個不同的視圖組件中,顯示頁面本身的責任是包含這些視圖組件,並以正確的方式構建完整的HTML響應。顯示頁面負責頁面的組裝過程。採用主版頁面組裝方法時,顯示頁面就變成了包含在該主版頁面的整個響應中的另一個內容片段。3-6所示,現在主版頁面擔負起組裝的責任,並且它要定義整個頁面的結構和布局。

 
圖3-6  自組裝與主版頁面組裝的比較

從概念上來看這很簡單,但網站中不同的顯示頁面如何使用同一個主版頁面呢?主版頁面又如何知道應該引入哪個顯示頁面呢?

運用這種技術的訣竅是,在主版頁面中加入一條可以在頁面運行時執行的<jsp:include>動作指令,以引入正確的內容頁面。<jsp:include>動作指令有兩種基本形式。第一種形式使用靜態定義的頁面名稱:

  1. <jsp:include page="/Home.jsp"/> 

 

第二種形式使用運行時運算式定義頁面名稱:

  1. <jsp:include page="<%= variablename %>"/> 

 

這種把運行時運算式作為頁面名稱的形式為在多個顯示頁面之間共用同一個主版頁面提供了一種簡單可行的方法。最簡單的用法是,Master.jsp頁面先尋找具體的請求參數page,然後動作指令以page為參數把正確的頁面放到主版頁面完整模板的顯示地區中:

  1. ...  
  2. <% String pagename = request.getParameter("page"); %> 
  3. ...  
  4. <body> 
  5. <table> 
  6. ...  
  7. <% try { %> 
  8. <jsp:include page="<%= pagename %>"/> 
  9. <% }  
  10. catch (IOException e) {  
  11. %> 
  12. <jsp:include page="Blank.jsp"/> 
  13. <% } %> 
  14. ...  
  15. </table> 
  16. </body> 

 

接下來,使用由主版頁面名稱和一個帶有顯示頁面名稱的查詢字串組成的URL來訪問每一個顯示頁面。例如,http://servername:port/Master.jsp?page=Home.jsp就會調用Master.jsp主版頁面,同時指出了要引入頁面的名稱是Home.jsp。頁面中的超連結同樣可以使用這樣的文法來指定URL:

  1. <A HREF="Master.jsp?page=ViewProperty.jsp">...</A> 

現在我們就可以在不觸及任何顯示頁面的前提下,通過修改一個獨立的頁面Master.jsp來改變整個網站的外觀。這些改變可以包含頁面結構的整體重新布局、所包含視圖組件的添加或刪除以及其他所期望的改變。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.