<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的小應用,也回顧了一遍它的主要內(nèi)容,這篇隨筆就把整理的一些東西貼出來吧。


    *******************************************************************************
    Model
    事務邏輯 -- 要做什么
    Action類所扮演的角色  -- 決定做什么
    內(nèi)部狀態(tài)通常由一組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 表單數(shù)據(jù)
    ActionMapping 將請求映射到操作
    ActionForward  轉移對象
    ActionError  存儲和回收錯誤

    ActionServlet將適當?shù)腁ctionMapping轉發(fā)給適當?shù)腁ction
    *******************************************************************************
    \WEB-INF\struts-config.xml 可以定義全局轉發(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>
    其中全局轉發(fā)是用來在jsp頁面之間創(chuàng)建邏輯名稱的映射;action-mappings進行內(nèi)部的流程
    控制,可以將請求URL映射到Action類,并將Action類與ActionForm Bean相關聯(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都包含關鍵字,能夠映射到資源文件中存儲的錯誤信息。
    資源文件是在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目標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>標記將對一個資源的響應進行檢索,并引入一個腳本變量和字符串類型的頁作用域?qū)傩裕Y源可以是一個頁,一個ActionForward或一個外部URL
    <bean:resource>標記將檢索web應用中的資源,并引入一個腳本變量和InputStream或字符串類型的頁作用域?qū)傩?br /> <bean:write>標記,用來將bean的屬性輸送到封裝的JSP頁寫入器
    struts框架對國際化的支持是使用<bean:message>標記,以及使用java.util數(shù)據(jù)包中定義的Locale和ResourceBundle類來實現(xiàn)Java2平臺對這些任務的支持。
    為了實現(xiàn)國際化,所有的資源文件必須都存儲在基本資源文件所在的目錄中?;举Y源文件包含的是用默認地區(qū)語言-本地語言編寫的消息。如果基本資源文件的名稱是ApplicationResources.properties,那么用其他特定語言編寫的資源文件的名稱就應該是ApplicationResources_xx.properties(xx為ISO編碼,如英語是en)。因此這些文件應包含相同的關鍵字,但關鍵字的值是用特定語言編寫的。
    在邏輯標記庫中定義了<logic:iterate>標記,它能夠根據(jù)特定集合中元素的數(shù)目對標記體的內(nèi)容進行重復的檢查
    <logic:forward>標記能夠?qū)㈨憫D發(fā)給重定向到特定的全局ActionForward上。
    <logic:redirect>標記是一個能夠執(zhí)行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>
    動態(tài)模板是模塊化WEB頁布局設計的強大手段。Struts模板標記庫定義了自定義標記來實現(xiàn)動態(tài)模板
    <template:insert>標記能夠在應用程序的JSP頁中插入動態(tài)模板。這個標記只有一個template屬性,用來定義模板JSP頁。要插入到模板的頁是有多個<template:put>標記來指定的,而這些標記被定義為<template:insert>標記的主體內(nèi)容
    在模板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技術網(wǎng)站

    java技術相關

    mess

    搜索

    •  

    最新評論

    閱讀排行榜

    校園夢網(wǎng)網(wǎng)絡電話,中國最優(yōu)秀的網(wǎng)絡電話
    主站蜘蛛池模板: 国产亚洲精品岁国产微拍精品| 波多野结衣免费在线观看| 日韩精品无码人妻免费视频| 亚洲一区二区三区在线观看蜜桃 | 美女一级毛片免费观看| 四虎影院在线免费播放| 亚洲精品蜜夜内射| 又大又粗又爽a级毛片免费看| 美女尿口扒开图片免费| 亚洲AV无码之日韩精品| 精品国产福利尤物免费| 亚洲午夜福利717| 一级毛片免费观看| 亚洲理论在线观看| 成人五级毛片免费播放| 苍井空亚洲精品AA片在线播放| 波多野结衣视频在线免费观看| 免费的黄色的网站| 国产亚洲婷婷香蕉久久精品| 性xxxx视频免费播放直播| 亚洲毛片免费视频| 处破痛哭A√18成年片免费| 高潮毛片无遮挡高清免费| 亚洲精品国产精品乱码视色 | 一级毛片a免费播放王色| 亚洲日韩欧洲无码av夜夜摸| 国产成人免费视频| 在线观看亚洲AV日韩AV| 亚洲精品无码专区久久同性男| 久久久久国产精品免费网站| 亚洲国产综合在线| 内射无码专区久久亚洲| 女人隐私秘视频黄www免费| 亚洲天堂久久精品| 全免费A级毛片免费看网站| 二区久久国产乱子伦免费精品| 亚洲男人的天堂在线| 四虎影永久在线高清免费| 免费国产叼嘿视频大全网站| 亚洲色大成网站www久久九| 亚洲理论电影在线观看|