亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用Struts實現模板

2019-11-18 12:56:37
字體:
來源:轉載
供稿:網友

  假如不用框架來開發一個門戶站點將會是一件很困難的事。使用模版可以減少些麻煩。他可以讓你在眨眼之間方便的更新與部署站點上的內容。用Struts模版標簽可以幫助你開發以模版為基礎的門戶站點。

  

   這篇文章解釋了與門戶有關的一些基本的模版思想,介紹了Struts對于模版的支持,圍繞著Struts模版標簽進行了討論。本文還闡述了其他的一些模版機制。

  

   獲得Struts

   網絡應用程序框架使用MVC模式,能簡化網絡站點的開發。Struts正是這樣的一個框架。它提供了類集、標簽庫和一些能作為Web開發基礎的接口。Struts是Jakarta-Apache論壇下的一個開源項目。

  

   和所有Jakarta的項目一樣,Struts提供原代碼和二進制程序的下載。這篇文章里,我們使用Struts的1.1b2版本。雖然這不是一個正式的版本,但這個版本比起1.0.2版有許多重大的改進。

  

   首先,解壓縮二進制程序到你所指定的目錄。會有一個名為jakarta-struts-1.1-b2的目錄創建。在它之下有兩個子目錄,分別為lib和webapps。Lib目錄包含我們所需要的所有庫、DTD文件、TLD文件(標簽庫定義),我們需要把它們添加到應用程序的classpath中。Webapps目錄包含了許多.war(web程序包)文件。這些可安裝運行的war文件可以放到任意servlet容器的webapps目錄中。我們使用Tomcat作為servlet容器。

  

   模板基礎

   我們通過模版可以創建很多結構相似的東西。模版幫助我們將會改變的東西歸檔打包,避免許多重復的工作。這對創建網絡應用程序的確是一件很方便的事情。

  

   在大多數的網絡應用程序中,經常需要更換的是內容。jsp很輕易做到這一點。因為JSP默認提供一個include機制——標簽。因此一個標準頁面可以通過改變include文件來改變它的內容。但是我們怎么能如此方便的改變一個頁面的布局呢?當我們需要改變的不僅僅是頁面的內容,還包括這個頁面的布局時情況會怎么樣呢?我們等會就會回答這些問題。

  

   用java提供的布局治理機制可以幫我們更形象的理解這些問題。Java提出了布局治理器、組件、容器的概念來創建圖形界面的應用程序。

  

   當容器中的組件改變時,布局治理器會決定怎么樣將新的組件部署到容器中。此外,容器本身也可以做為其他容器的組件從而實現了嵌套。在一些簡單的情況下,JSP就可以做為一個網絡應用程序的模版,其功能就等價于布局治理器。模版隱藏了web頁面布局的實現方法。換句話說,它隱藏了布局的法則。假如布局法則需要改變,那么這些改變將回受限于模版。Web頁面通過實現這個模版來做其內容上的改變。

  

   假如模版等價于布局治理器,那相應的容器和組件又是什么呢?相應的組件就是實際的內容文件:JSP文件、Html文件、圖象文件等等。容器將這些可見的組件聚集在一個單元里。一個JSP文件就是一個容器。容器需要關于模版的信息來部署這些組件。用Java GUI舉例來說,一個面板(容器,集合單元)可以包含按鈕和文本區(組件和內容),使用一個網格布局治理器(GridLayout)來部署這些組件。

  

   現在我們可以往返答先前提出的那個問題了。我們知道模版集成了布局法則,當要改變布局是,我們要做的僅僅改變模版。這些改變會一起相關頁面布局的改變,而不需要去改變這些頁面本身。在門戶應用程序中,這就意味著當大量頁面需要采用同樣布局時在時間上的節省。

  

   Struts用三個模版標簽來實現模版。

  

   插入標簽InsertTag——。

   在容器/集合單元文件(collecting unit file)中使用。它定義了當前容器要使用的模版。類似于Java GUI中的container.setLayout(layout)方法。在它之后用標簽定義組件。

  

   放入標簽PutTag——

   在容器/集合單元文件(collecting unit file)中使用。他定義了組成容器/集合單元的組件/內容。它類似于Java GUI中的container.add(component)方法。每個PutTag標簽必須有一個相關組件的名稱。

  

   獲得標簽GetTag——

   在模版文件中使用。它告訴模版由PutTag標簽定義的不同組件的名稱。它類似于Java GUI中的layout.addLayoutComponent(componentName, component)方法。

  

   一個簡單的例子

   你可以下載這個例子。我們將要創建兩套內容文件、容器(集合單元)文件以及模版文件。當我們有了這些文件后,就可以就可以互換他們的模版,看到他們在布局上的改變。

   復制Struts-blank.war到Tomcat的webapps目錄并且將他改名為template-example.war。重起Tomcat。template-example會由Tomcat自動部署。刪除pages目錄和index.jsp文件。他們與我們的討論暫時無關。

  

   讓我們定義又定義我們自己的內容文件做為一個開始。在template-example下建立一個名為content的目錄,并且在其中創建六個文件:top1.htm, top2.htm, bottom1.htm, bottom2.htm, middle1.jsp, and middle2.jsp。

   放入什么文件是取決于你的,但是對于初學者,靜態的.htm文件更輕易理解。舉個例子來說,top.htm包括以下的內容:

  

   This is the TOP Content for the First

   example. This is a static html file.



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产成人免费91av在线| 精品久久香蕉国产线看观看gif| 日韩一区二区三区国产| 国产一区二区三区精品久久久| 97人人爽人人喊人人模波多| 欧美日韩在线影院| 成人福利网站在线观看| 欧美国产日韩xxxxx| 国产成人久久久| 国产女人18毛片水18精品| 中文字幕av一区中文字幕天堂| 欧美专区日韩视频| 亚洲日本aⅴ片在线观看香蕉| 国产一区在线播放| 琪琪亚洲精品午夜在线| 欧美极品美女电影一区| 91av视频导航| 在线看日韩欧美| 中文字幕欧美国内| 日韩欧美大尺度| 国产精品久久久久久久久久尿| 精品久久久久久久久久久| 欧美在线性爱视频| 亚洲美女动态图120秒| 亚洲国产福利在线| 成人国产在线视频| 亚洲欧美中文字幕在线一区| 久久频这里精品99香蕉| 日韩av免费看| 91在线网站视频| 国产z一区二区三区| 精品日韩中文字幕| 97视频在线观看免费高清完整版在线观看| 45www国产精品网站| 欧洲亚洲妇女av| 亚洲图片欧美日产| 国产91网红主播在线观看| 久久久精品久久| 国产精品视频男人的天堂| 国产成人在线视频| 欧美激情在线有限公司| 日韩免费观看网站| 欧美激情va永久在线播放| 91av在线看| 日韩av日韩在线观看| 国产成人激情视频| 欧美午夜片在线免费观看| 久久久av电影| 日韩欧美精品免费在线| 中文字幕欧美视频在线| 国产精品美女无圣光视频| 久久精品在线视频| 亚洲视频第一页| 欧美人交a欧美精品| 欧美成人在线免费视频| 97超级碰碰人国产在线观看| 成人激情视频小说免费下载| 久久免费国产精品1| 欧美亚洲视频在线观看| 九九热精品在线| 韩国视频理论视频久久| 日韩一区二区精品视频| 成人福利网站在线观看| 亚洲一区二区三区sesese| 国产精品免费看久久久香蕉| 欧美电影免费观看| 欧美日韩亚洲国产一区| 欧美日韩激情美女| 欧美精品久久久久久久| 日韩不卡在线观看| 精品香蕉一区二区三区| 亚洲www在线| 日av在线播放中文不卡| 亚洲香蕉成视频在线观看| 色一区av在线| 蜜臀久久99精品久久久久久宅男| 欧美伦理91i| 国产精品扒开腿做爽爽爽男男| 91影视免费在线观看| 日韩欧美在线国产| 97人人爽人人喊人人模波多| 亚洲天堂第一页| 欧美老女人bb| 国产在线久久久| 亚洲欧美中文在线视频| 日韩在线视频导航| 亚洲综合精品伊人久久| 免费av一区二区| 欧美极度另类性三渗透| 欧美精品激情在线| 日韩大片在线观看视频| 欧美激情性做爰免费视频| 日韩精品福利在线| 一区二区三区四区视频| 国产精品极品尤物在线观看| 日日狠狠久久偷偷四色综合免费| 国产精品久久久精品| 97国产suv精品一区二区62| 日韩成人av网址| 久久久久久久国产精品视频| 欧美理论电影在线播放| 国产精品成人一区二区三区吃奶| 日韩亚洲精品电影| 97av在线影院| 国产69精品久久久| 国产精品久久久一区| 在线电影欧美日韩一区二区私密| 亚洲激情电影中文字幕| 国产精品一区二区电影| 精品亚洲一区二区三区| 国产午夜精品视频免费不卡69堂| 亚洲精品一区av在线播放| 国产精品va在线播放我和闺蜜| 日韩成人性视频| 亚洲欧洲美洲在线综合| 97精品伊人久久久大香线蕉| 国产精品久久久久久久天堂| 深夜福利一区二区| 超碰日本道色综合久久综合| 一区二区亚洲欧洲国产日韩| 国产美女久久精品香蕉69| 日韩成人激情视频| 亚洲另类欧美自拍| 国产精品成人一区二区三区吃奶| …久久精品99久久香蕉国产| 97在线观看视频国产| 久色乳综合思思在线视频| 日韩精品有码在线观看| 国产成人精品久久二区二区| 色黄久久久久久| 亚洲精品天天看| 日韩有码在线播放| 久久福利网址导航| 国内精品久久久久久久| 久久精品国产99国产精品澳门| 青草成人免费视频| 久久久国产影院| 欧美—级a级欧美特级ar全黄| 欧美亚洲视频一区二区| 中文字幕国产精品| 久久777国产线看观看精品| 91精品视频专区| 国产一区二区激情| 自拍视频国产精品| 国产欧美精品在线| 亚洲国产精品资源| 久热精品视频在线免费观看| 免费av在线一区| 亚洲精品大尺度| 高清一区二区三区四区五区| 国产精品免费网站| 国产精品大片wwwwww| 91社区国产高清| 日韩在线观看免费高清完整版| 亚洲丝袜av一区| 欧美日韩亚洲激情| 性色av一区二区咪爱| 欧美日韩国产成人在线| 免费91在线视频| 伊人久久精品视频| 成人黄色片网站| 黑人极品videos精品欧美裸| 综合国产在线观看| 国产综合久久久久|