<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

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


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

    *******************************************************************************
    View
    JSP  標簽

    *******************************************************************************
    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  包含事務邏輯
    ActionForm 表單數據
    ActionMapping 將請求映射到操作
    ActionForward  轉移對象
    ActionError  存儲和回收錯誤

    ActionServlet將適當的ActionMapping轉發給適當的Action
    *******************************************************************************
    \WEB-INF\struts-config.xml 可以定義全局轉發、Action Mapping、ActionForm Bean、
    JDBC數據源等
    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>
    其中全局轉發是用來在jsp頁面之間創建邏輯名稱的映射;action-mappings進行內部的流程
    控制,可以將請求URL映射到Action類,并將Action類與ActionForm Bean相關聯;data-sources
    用來配置JDBC數據源,可以定義多個數據源,實例:
     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中調用:
    //MySQL 數據源取得
    DataSource mysqlds = this.getDataSource(request,"mysqlDS");
    對于單數據源 可以直接獲取
    DataSource mysqlds = this.getDataSource(request);

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

    *******************************************************************************
    使用ActionError和ActionErrors來處理錯誤,ActionErrors保存著ActionError對象集合,
    而每個ActionError都包含關鍵字,能夠映射到資源文件中存儲的錯誤信息。
    資源文件是在ActionServlet初始花參數中指定的。
    替換例子:
    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>定義字符串常數,拷貝bean對象,用現有bean屬性來創建新bean。id新定義bean腳本變量名稱,type類,value為id屬性定義的腳本變量分配一個新的對象,name目標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>標記將對一個資源的響應進行檢索,并引入一個腳本變量和字符串類型的頁作用域屬性,資源可以是一個頁,一個ActionForward或一個外部URL
    <bean:resource>標記將檢索web應用中的資源,并引入一個腳本變量和InputStream或字符串類型的頁作用域屬性
    <bean:write>標記,用來將bean的屬性輸送到封裝的JSP頁寫入器
    struts框架對國際化的支持是使用<bean:message>標記,以及使用java.util數據包中定義的Locale和ResourceBundle類來實現Java2平臺對這些任務的支持。
    為了實現國際化,所有的資源文件必須都存儲在基本資源文件所在的目錄中。基本資源文件包含的是用默認地區語言-本地語言編寫的消息。如果基本資源文件的名稱是ApplicationResources.properties,那么用其他特定語言編寫的資源文件的名稱就應該是ApplicationResources_xx.properties(xx為ISO編碼,如英語是en)。因此這些文件應包含相同的關鍵字,但關鍵字的值是用特定語言編寫的。
    在邏輯標記庫中定義了<logic:iterate>標記,它能夠根據特定集合中元素的數目對標記體的內容進行重復的檢查
    <logic:forward>標記能夠將響應轉發給重定向到特定的全局ActionForward上。
    <logic:redirect>標記是一個能夠執行HTTP重定向的強大工具
    Onblur字段失去了焦點
    Struts HTML標記可以大致地分為以下幾個功能:顯示表單元素和輸入控件 顯示錯誤信息 顯示其他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>
    動態模板是模塊化WEB頁布局設計的強大手段。Struts模板標記庫定義了自定義標記來實現動態模板
    <template:insert>標記能夠在應用程序的JSP頁中插入動態模板。這個標記只有一個template屬性,用來定義模板JSP頁。要插入到模板的頁是有多個<template:put>標記來指定的,而這些標記被定義為<template:insert>標記的主體內容
    在模板JSP頁中使用<template:get>標記能夠檢索由<template:put>標記插入到JSP頁的資源

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


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




    常用鏈接

    留言簿(10)

    隨筆分類(95)

    隨筆檔案(97)

    文章檔案(10)

    相冊

    J2ME技術網站

    java技術相關

    mess

    搜索

    •  

    最新評論

    閱讀排行榜

    校園夢網網絡電話,中國最優秀的網絡電話
    主站蜘蛛池模板: 国产成人无码免费视频97| 久久国产乱子免费精品| 亚洲GV天堂GV无码男同| 亚洲国产欧美国产综合一区 | 久久精品国产精品亚洲艾| 亚洲自偷自偷偷色无码中文| 国产亚洲精品拍拍拍拍拍| 最新精品亚洲成a人在线观看| 中文字幕亚洲日韩无线码| 亚洲乱码一区二区三区在线观看 | 亚洲男人第一av网站| 337p日本欧洲亚洲大胆色噜噜| 亚洲精品91在线| 亚洲免费视频网址| 亚洲熟妇AV一区二区三区浪潮| 久久精品亚洲日本波多野结衣| 黄色免费网站在线看| baoyu122.永久免费视频| 四虎国产成人永久精品免费| 91久久成人免费| 成年女人喷潮毛片免费播放| 四虎永久精品免费观看| 亚洲人成无码网站久久99热国产| 亚洲动漫精品无码av天堂| 精品亚洲成a人片在线观看少妇| 亚洲国产综合人成综合网站00| 亚洲色大成WWW亚洲女子| 免费的黄色网页在线免费观看| av午夜福利一片免费看久久| 免费A级毛片av无码| 久久久久免费看黄A片APP| 免费观看日本污污ww网站一区| 亚洲综合国产一区二区三区| 亚洲视频精品在线| 最新亚洲卡一卡二卡三新区| 永久免费无码日韩视频| 免费A级毛片在线播放| 久久不见久久见中文字幕免费| 国产a不卡片精品免费观看| 亚洲国产第一站精品蜜芽| 亚洲国产成人久久综合一区|