posts - 97,  comments - 93,  trackbacks - 0
          好長時間沒寫程序了感覺,忘了很多東西,呵呵,今天打開Eclipse寫了一個Struts的小應(yīng)用,也回顧了一遍它的主要內(nèi)容,這篇隨筆就把整理的一些東西貼出來吧。


          *******************************************************************************
          Model
          事務(wù)邏輯 -- 要做什么
          Action類所扮演的角色  -- 決定做什么
          內(nèi)部狀態(tài)通常由一組ActionForm JavaBean表示,通常我們建議將事務(wù)邏輯與Action分開

          *******************************************************************************
          View
          JSP  標(biāo)簽

          *******************************************************************************
          Controller
          基本的控制器組件是ActionServlet類中的實例servlet,實際使用的servlet在配置文件
          中由一組映射(由ActionMapping類進行描述)進行定義。
          如:
          1     <action-mappings>
          2         <action attribute="fStrutsForm" input="/form/fStruts.jsp"
          3             name="fStrutsForm" path="/fStruts" scope="request"
          4             type="com.nicky.struts.action.FStrutsAction" />
          5     </action-mappings>
          ActionServlet 控制器
          ActionClass  包含事務(wù)邏輯
          ActionForm 表單數(shù)據(jù)
          ActionMapping 將請求映射到操作
          ActionForward  轉(zhuǎn)移對象
          ActionError  存儲和回收錯誤

          ActionServlet將適當(dāng)?shù)腁ctionMapping轉(zhuǎn)發(fā)給適當(dāng)?shù)腁ction
          *******************************************************************************
          \WEB-INF\struts-config.xml 可以定義全局轉(zhuǎn)發(fā)、Action Mapping、ActionForm Bean、
          JDBC數(shù)據(jù)源等
          1 <controller></controller>
          2 <action-mappings></action-mappings>
          3 <data-sources></data-sources>
          4 <form-beans></form-beans>
          5 <global-exceptions></global-exceptions>
          6 <global-forwards></global-forwards>
          7 <message-resources parameter="com.nicky.struts.ApplicationResources"/>
          8 <plug-in className=""></plug-in>
          其中全局轉(zhuǎn)發(fā)是用來在jsp頁面之間創(chuàng)建邏輯名稱的映射;action-mappings進行內(nèi)部的流程
          控制,可以將請求URL映射到Action類,并將Action類與ActionForm Bean相關(guān)聯(lián);data-sources
          用來配置JDBC數(shù)據(jù)源,可以定義多個數(shù)據(jù)源,實例:
           1     <data-sources>
           2         <data-source>
           3             <set-property property="key" value="mysqlDS" />
           4             <set-property property="type" value="javax.sql.DataSource" />
           5             <set-property property="driverClass"
           6                 value="com.mysql.jdbc.Driver" />
           7             <set-property property="url"
           8                 value="jdbc:mysql://DBServer:3306/DBName" />
           9             <set-property property="maxCount" value="20" />
          10             <set-property property="minCount" value="2" />
          11             <set-property property="user" value="userName" />
          12             <set-property property="password" value="userPassword" />
          13         </data-source>
          14     </data-sources>
             
          在Action中調(diào)用:
          //MySQL 數(shù)據(jù)源取得
          DataSource mysqlds = this.getDataSource(request,"mysqlDS");
          對于單數(shù)據(jù)源 可以直接獲取
          DataSource mysqlds = this.getDataSource(request);

          *******************************************************************************
          Action類的perform過時,替以execute也是兩個可以處理Http和非Http請求。

          *******************************************************************************
          使用ActionError和ActionErrors來處理錯誤,ActionErrors保存著ActionError對象集合,
          而每個ActionError都包含關(guān)鍵字,能夠映射到資源文件中存儲的錯誤信息。
          資源文件是在ActionServlet初始花參數(shù)中指定的。
          替換例子:
          1 error.invalid=<b>Invalid Number{0}</b>
          2 ActionError error = new ActionError(‘error.invalid’,new Double(-1));
          JSP頁顯示:Invalild Number –1

          *******************************************************************************
          struts——>bean、logic、html、template、nested、tiles
          <bean:define>定義字符串常數(shù),拷貝bean對象,用現(xiàn)有bean屬性來創(chuàng)建新bean。id新定義bean腳本變量名稱,type類,value為id屬性定義的腳本變量分配一個新的對象,name目標(biāo)bean的名稱。
          1         <bean:define id="printString" value="This is Login Page" scope="page"></bean:define>
          2         <bean:define id="printString" name="_printString" scope="page" toScope="request" ></bean:define>
          <bean:include>標(biāo)記將對一個資源的響應(yīng)進行檢索,并引入一個腳本變量和字符串類型的頁作用域?qū)傩裕Y源可以是一個頁,一個ActionForward或一個外部URL
          <bean:resource>標(biāo)記將檢索web應(yīng)用中的資源,并引入一個腳本變量和InputStream或字符串類型的頁作用域?qū)傩?br /> <bean:write>標(biāo)記,用來將bean的屬性輸送到封裝的JSP頁寫入器
          struts框架對國際化的支持是使用<bean:message>標(biāo)記,以及使用java.util數(shù)據(jù)包中定義的Locale和ResourceBundle類來實現(xiàn)Java2平臺對這些任務(wù)的支持。
          為了實現(xiàn)國際化,所有的資源文件必須都存儲在基本資源文件所在的目錄中。基本資源文件包含的是用默認地區(qū)語言-本地語言編寫的消息。如果基本資源文件的名稱是ApplicationResources.properties,那么用其他特定語言編寫的資源文件的名稱就應(yīng)該是ApplicationResources_xx.properties(xx為ISO編碼,如英語是en)。因此這些文件應(yīng)包含相同的關(guān)鍵字,但關(guān)鍵字的值是用特定語言編寫的。
          在邏輯標(biāo)記庫中定義了<logic:iterate>標(biāo)記,它能夠根據(jù)特定集合中元素的數(shù)目對標(biāo)記體的內(nèi)容進行重復(fù)的檢查
          <logic:forward>標(biāo)記能夠?qū)㈨憫?yīng)轉(zhuǎn)發(fā)給重定向到特定的全局ActionForward上。
          <logic:redirect>標(biāo)記是一個能夠執(zhí)行HTTP重定向的強大工具
          Onblur字段失去了焦點
          Struts HTML標(biāo)記可以大致地分為以下幾個功能:顯示表單元素和輸入控件 顯示錯誤信息 顯示其他HTML元素
          1         <html:form action="/fStruts">
          2             用戶名 : <html:text property="userName" size="33"/><html:errors property="userName"/><br/> 
          3             密&nbsp;&nbsp;&nbsp;&nbsp;碼 : <html:password property="pwdText" size = "35"/><html:errors property="pwdText"/><br/>
          4             <html:submit/><html:cancel/>
          5         </html:form>
          動態(tài)模板是模塊化WEB頁布局設(shè)計的強大手段。Struts模板標(biāo)記庫定義了自定義標(biāo)記來實現(xiàn)動態(tài)模板
          <template:insert>標(biāo)記能夠在應(yīng)用程序的JSP頁中插入動態(tài)模板。這個標(biāo)記只有一個template屬性,用來定義模板JSP頁。要插入到模板的頁是有多個<template:put>標(biāo)記來指定的,而這些標(biāo)記被定義為<template:insert>標(biāo)記的主體內(nèi)容
          在模板JSP頁中使用<template:get>標(biāo)記能夠檢索由<template:put>標(biāo)記插入到JSP頁的資源

          *******************************************************************************


          posted on 2007-10-07 16:55 wqwqwqwqwq 閱讀(1034) 評論(0)  編輯  收藏 所屬分類: Simple Java
          <2007年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910




          常用鏈接

          留言簿(10)

          隨筆分類(95)

          隨筆檔案(97)

          文章檔案(10)

          相冊

          J2ME技術(shù)網(wǎng)站

          java技術(shù)相關(guān)

          mess

          搜索

          •  

          最新評論

          閱讀排行榜

          校園夢網(wǎng)網(wǎng)絡(luò)電話,中國最優(yōu)秀的網(wǎng)絡(luò)電話
          主站蜘蛛池模板: 石门县| 宝兴县| 闽清县| 福鼎市| 贵港市| 静安区| 资中县| 盐山县| 通河县| 略阳县| 泽普县| 蒙城县| 寿光市| 汝州市| 弋阳县| 和龙市| 汝阳县| 宾阳县| 夏津县| 辽阳县| 凤山市| 大足县| 珲春市| 横山县| 洛阳市| 隆化县| 深圳市| 临西县| 长寿区| 临清市| 蒲城县| 鄂尔多斯市| 伊吾县| 汾阳市| 长乐市| 遂平县| 汝南县| 宜城市| 津市市| 鹤峰县| 湄潭县|