




已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Struts 開源MVC框架 成為軟件行業(yè)的武林高手 少林派 照著練 注重根基 循序漸進(jìn)多學(xué) 多練 多思 多改 武當(dāng)派 想著練 善長技巧 以柔克剛多掌握一些編程技巧 多去考慮一下性能 效率 重構(gòu)一些代碼 多分析一下代碼的優(yōu)劣性逍遙派 創(chuàng)新練 任意發(fā)揮 注重人性化設(shè)計 如何讓使用者更易上手 更易于使用 注重美感 交互性強 注重哪種架構(gòu) 語言 的優(yōu)劣選擇 編程軟件就是設(shè)計一件藝術(shù)作品 Struts1Lession1 為什么要用SSH框架使用框架 可以讓我們更簡單的開發(fā) 更容易的架構(gòu)項目 更好的提升程序性能 Struts工作流程第一個struts程序 多層架構(gòu)概述 JAVAEE開發(fā)的體系結(jié)構(gòu) 管理模型層spring Controller控制層1 Servlet2 Struts1 MVC 3 Struts2 webwork Hibernate mybatis DB DAO PO View視圖層JspHtmlflash Service 多層架構(gòu)概述 分層的目的 將顯示 業(yè)務(wù)邏輯 數(shù)據(jù)訪問等功能完全分開 避免相互之間的影響 實現(xiàn)模塊間的松耦合 簡化維護(hù)成本 所謂 耦合 指將兩個元素像鏈子一樣連接在一起 在軟件領(lǐng)域 耦合 一般指軟件組件之間的依賴程度 呈現(xiàn)層 用struts實現(xiàn)MVC 業(yè)務(wù)邏輯層 用spring持久化層 用hibernate Struts是什么 Struts的目標(biāo)是提供一個開發(fā)Web應(yīng)用的開源框架 Struts鼓勵基于M2模式 即MVC設(shè)計模式 來開發(fā)程序 回顧Model1設(shè)計模式以JSP為中心的開發(fā)模型 稱為Model1 JSP JAVABEAN 1 業(yè)務(wù)邏輯與表示邏輯混和 不利維護(hù)與重用 2 HTML中嵌入了大量的JAVA代碼3 驗證 流程控制 更新程序的狀態(tài)全部在JSP中完成回顧Model2設(shè)計模式ModelViewController MVC MVCMVC是一種設(shè)計模式M是指數(shù)據(jù)模型 V是指用戶界面 C則是控制器 使用MVC的目的是將M和V的實現(xiàn)代碼分離C確保M和V的同步 用來控制M層和V層 一旦M改變 V應(yīng)該同步更新 被推薦為Sun公司J2EE平臺的設(shè)計模式 Struts實現(xiàn)的MVC框架 web xml Struts框架組件 ActionServlet類控制導(dǎo)航流 ActionServlet根據(jù)URI來決定哪個Action類被用于處理請求 Action可以校驗輸入 并訪問業(yè)務(wù)層以便從數(shù)據(jù)庫檢索信息 Action需要知道頁面提交了哪些內(nèi)容 所以由ActionServlet根據(jù)請求URI來決定將請求參數(shù)綁定到哪個ActionForm中 并傳入Action Action在完成業(yè)務(wù)邏輯后 返回一個ActionForward對象 ActionServlet根據(jù)ActionForward對象中的路徑來調(diào)用頁面完成響應(yīng) Struts將這些信息綁定在一個ActionMapping對象中 一個ActionMapping對應(yīng)一個請求URI 當(dāng)請求路徑到達(dá)的時候 ActionServlet就會查詢ActionMapping對象 ActionMapping對象將告訴ActionServlet哪個Action類會被調(diào)用 哪個ActionForm類被用于傳遞頁面數(shù)據(jù)以及哪些ActionForward將被用于轉(zhuǎn)向 Action ActionForm ActionForward等 Struts通過一個配置文件 struts config xml文件來定義 Stringpath request getRequestURI path path subString path indexOf 1 path lastIndexOf 開始一個Struts項目 在Apache網(wǎng)站上下載Struts 將文件解壓 將lib路徑下的所有JAR文件復(fù)制到Web應(yīng)用的WEB INF lib路徑下 http www apache org官方網(wǎng)站http struts apache org 下載struts例 http struts apache org download cgi struts13101 31版本或在MyEclipce的集成環(huán)境中加載Struts的JAR文件 第一個Struts項目 實現(xiàn)用戶登錄操作 配置ActionServlet 配置ActionServlet 修改web項目的web xml文件 添加如下Servlet映射配置 actionorg apache struts action ActionServletconfig WEB INF struts config xml2action do 可選 沒有單位 表示的是服務(wù)器啟動的時候初始化加載的順序 數(shù)值越大 加載優(yōu)先級別越低 如果我們在web服務(wù)器啟動的時候加載多個程序 那么就用這個數(shù)值的相對大小來確定那幾個程序的加載順序 給容器一個actionservlet的權(quán)重 如果設(shè)置為2 則允許其他servlet在需要的時候首先裝入這段告訴容器將匹配 do格式的文件請求轉(zhuǎn)發(fā)到actionservlet 這就是我們所配的action 不匹配這種格式的文件請求將不被struts處理 參數(shù) config缺省值 WEB INF struts config xml說明 包含配置信息的xml文件上下問相關(guān)路徑參數(shù) debug缺省值 0說明 調(diào)試的詳細(xì)級別 控制針對這個servlet將記錄多少信息 接受的值為0 off 和1 最不嚴(yán)格 直到6 最嚴(yán)格 大多數(shù)struts組件設(shè)置為級別0或2參數(shù) detail缺省值 0說明 用來處理應(yīng)用配置文件的Digester的調(diào)試詳細(xì)級別 接受的值為0 off 和1 最不嚴(yán)格 直到6 最嚴(yán)格 編寫幾個必要的文件 一個ActionForm UserForm 填充頁面表單封裝成一個類一個Action LoginAction 通過action調(diào)用業(yè)務(wù)邏輯 轉(zhuǎn)發(fā)等操作進(jìn)行處理struts config xml文件Struts核心配置文件 JSP頁面登錄頁面 login jsp 成功頁面 welcome jsp 失敗頁面 error jsp 創(chuàng)建struts config xml 在WEB INF目錄下創(chuàng)建struts config xml文件 并添加如下內(nèi)容struts config xml文件 是由ActionServlet讀取的配置文件 它定義了所有關(guān)于Action ActionForm ActionForward等的詳細(xì)信息 創(chuàng)建ActionForm ActionForm是一個JavaBean 需繼承org apache struts action ActionForm類 它捕獲通過HTTP請求傳送的參數(shù)ActionForm針對每個HTML表單中的字段具有一個對應(yīng)的屬性ActionServlet匹配請求中的參數(shù)和ActionForm中的屬性 并調(diào)用ActionForm中的setter方法 將參數(shù)傳入ActionFormActionForm中的內(nèi)部屬性全部定義為私有的 private 并通過公共 public 的getter setter方法來訪問 創(chuàng)建Action Action是一個Java類 需繼承org apache struts action Action類ActionServlet將會組裝ActionForm 并將它傳遞給ActionAction通常負(fù)責(zé) 輸入校驗調(diào)用業(yè)務(wù)邏輯類執(zhí)行業(yè)務(wù)邏輯操作決定返回哪個ActionForward 添加ActionForm配置 在struts config xml文件中 在標(biāo)簽的內(nèi)部 添加如下配置 標(biāo)簽內(nèi)部可以包含多個標(biāo)簽標(biāo)簽必須指定name和type屬性name屬性是給此ActionForm一個標(biāo)識名稱type屬性指定了此ActionForm是哪個類 必須是全路徑的類名 添加Action配置 在struts config xml文件中 緊接著標(biāo)簽的下面 添加對LoginAction的配置 標(biāo)簽可以配置的重要屬性包括path 從頁面上通過一個什么樣的URL路徑來訪問Action 不包含 do type 訪問這個URL的時候 調(diào)用哪個Action類 這是Action的全路徑類名name 這個屬性用來標(biāo)識哪個ActionForm將被創(chuàng)建 并將提交的表單組件給它scope FormBean的作用域范圍 可以取值為session和request 一般取值都是request 創(chuàng)建jsp文件 創(chuàng)建login jsp文件 添加一個表單 action為login do 這個login do的意思 將會告訴struts的ActionServlet 它將需要調(diào)用哪個Action來處理這個表單的請求 創(chuàng)建welcome jsp文件 輸入登錄成功的歡迎信息創(chuàng)建error jsp文件 輸入登錄失敗的提示信息 運行流程 從瀏覽器輸入地址 http localhost 8080 StrutsDemo login jsp Tomcat將按通常情況來處理這個JSP并返回瀏覽器 提交表單 實際上是提交到了這樣一個URL地址 http localhost 8080 StrutsDemo login do Tomcat將會根據(jù)web xml的配置 將這個請求發(fā)送給相應(yīng)的Servlet 在我們的應(yīng)用中 Tomcat將會把這個請求發(fā)送給org apache struts action ActionServlet這個類 然后ActionServlet根據(jù)struts config xml的配置信息 調(diào)用LoginAction對象去處理這個請求 在此之前 它會將頁面表單的請求數(shù)據(jù)封裝到UserForm對象中 并傳遞給LoginAction LoginAction返回一個ActionForward對象 包含了將要轉(zhuǎn)向的路徑信息 ActionServlet根據(jù)這個ActionForward對象所包含的路徑信息 調(diào)用相應(yīng)的頁面去執(zhí)行響應(yīng) 運行流程圖 Struts1lession2 Struts與mvc單例模式Struts中的標(biāo)簽html bean logicStruts中的國際化 Struts與MVC 視圖 View 在使用Struts框架的web應(yīng)用程序中 JSP以及相關(guān)的技術(shù) 如Taglib 等共同組成視圖層 這一層的主要職責(zé)是顯示用戶界面 Struts提供了很多機制讓我們能更加輕松地創(chuàng)建視圖控制器 Controller Struts中 ActionServlet是控制器層組件模型 Model 模型包括 系統(tǒng)的內(nèi)部狀態(tài)以及改變系統(tǒng)狀態(tài)的動作Struts中的Action和ActionForm是模型的一部分Struts建議把 做什么 Action 和 如何做 業(yè)務(wù)邏輯 相分離 創(chuàng)建業(yè)務(wù)邏輯處理類 使用單例模式 Singleton 來創(chuàng)建業(yè)務(wù)邏輯處理類將Action中的業(yè)務(wù)處理代碼移到這個類中創(chuàng)建一些異常處理類 由這個類來產(chǎn)生 由Action來捕獲 一般Singleton模式通常有幾種形式 publicclassSingleton privateSingleton 注意這是private只供內(nèi)部調(diào)用privatestaticSingletoninstance newSingleton 這里提供了一個供外部訪問本class的靜態(tài)方法 可以直接訪問publicstaticSingletongetInstance returninstance 第二種形式 publicclassSingleton privateSingleton privatestaticSingletoninstance null publicstaticsynchronizedSingletongetInstance if instance null instance newSingleton returninstance 頁面之間數(shù)據(jù)的傳遞 如何將數(shù)據(jù)從Action中傳遞到下一個JSP頁面 一般使用request setAttribute方法 在Action中 使用request setAttribute Stringname Objectdata 方法往request中設(shè)置參數(shù)在JSP中 使用request getAttribute Stringname 來獲取相應(yīng)的參數(shù) 容器接收頁面請求 Struts的核心組件是ActionServlet 像其它所有Servlet一樣 它是生存在容器中的 比如Tomcat WebLogic等 當(dāng)容器啟動的時候 它會讀取web xml文件 部署描述符 告訴容器它會裝入哪些Servlet一個標(biāo)準(zhǔn)的Servlet是通過servlet mapping來設(shè)定 哪些請求 將會被提交到哪些servlet中Struts的servlet mapping配置一般是 action do這樣配置的意思是 任何以 do結(jié)尾的URL請求 都會被發(fā)送到ActionServlet進(jìn)行處理 Struts標(biāo)簽庫 Jsp頁面應(yīng)該避免使用java腳本 因為這些腳本會大大降低jsp頁面的可讀性 但jsp頁面依然需要具備動態(tài)輸出的功能 通過標(biāo)簽可以完成表現(xiàn)層的輸出Struts主要提供了如下3個標(biāo)簽庫html 用于生成html的標(biāo)簽bean 用于完成程序國際化 輸出ActionForm的屬性值等logic 用于完成循環(huán) 選擇流程控制等在web xml中引入標(biāo)簽庫定義 然后在每個JSP文件中引入 或者無需在web xml中定義 但在JSP文件中添加如下聲明 html標(biāo)簽 html標(biāo)簽使用struts的html標(biāo)簽最終將被解釋為標(biāo)準(zhǔn)的html標(biāo)簽 里面的標(biāo)簽基本上都和html標(biāo)簽一一對應(yīng)建議以后使用struts自帶的html標(biāo)簽用戶名密碼性別男女愛好籃球看書睡覺編程 備注提交or清除取消 bean標(biāo)簽 bean標(biāo)簽輸出bean里面的屬性值將某個bean中的屬性定義成腳本可以訪問的變量輸出國際化信息會自動查找struts config xml中配置的資源文件中的hello這個鍵的值 用來定詢問變量a1 它的值是hello寫出a1變量的值 logic標(biāo)簽 logic標(biāo)簽存在是否包含給定的字符串 indexId index 在四種作用域中能夠找到變量list 直接寫在name后面 Struts標(biāo)簽通用屬性 Struts1lession3 選學(xué)國際化問題 I18N問題 Struts處理消息Struts處理異常Struts驗證框架Form驗證Action驗證 I18N問題 什么是I18N問題 在英文中 國際化 Internationalization 被縮寫為I18N 即只取首尾兩個字母 中間字母為18個有哪些問題 頁面字符串硬編碼異常消息的硬編碼提示信息的硬編碼 Java如何支持I18N java程序的國際化主要通過如下3個類完成java util Localejava util ResourceBundlejava text MessageFormat將程序中的標(biāo)簽和提示等信息放在資源文件中 每個程序需要所有支持的國家和語言 都必須提供對應(yīng)的資源文件 資源文件是key value對 每個資源文件中的key是不變的 但value則隨不同國家和語言而變化資源文件的命名要規(guī)范 myMessage properties 默認(rèn)的資源文件 myMessage zh CN properties 簡體中文的資源文件 myMessage en US properties 英文的資源文件 資源文件要用native2ascii工具進(jìn)行轉(zhuǎn)換 Java如何支持I18N java程序示例 取得缺省的LocaleLocalel Locale getDefault 綁定資源文件ResourceBundlerb ResourceBundle getBundle myResource l System out println rb getString error empty name 格式化消息文本MessageFormatmf newMessageFormat rb getString error time System out println mf format newObject newDate 國際化后臺示例 LocalecurrentLocale Locale getDefault System out println defaultcountry currentLocale getCountry System out println defaultlanguage currentLocale getLanguage currentLocale newLocale en US currentLocale newLocale zh CN ResourceBundlerb ResourceBundle getBundle com fd struts ApplicationResources currentLocale MessageFormatmf newMessageFormat rb getString notNull System out println mf format newObject 密碼 Struts如何支持I18N 需要在struts配置文件中指定資源屬性文件的位置和名稱 如在JSP頁面中使用來輸出文本 以避免硬編碼message resources中parameter的值 可以指定資源文件的位置和名稱表示在類路徑根目錄 WEB INF classes目錄 下有myResources XX XX properties文件表示在類路徑根目錄下 有一個resources目錄 在這個resources目錄中存放著所有的myResources XX XX properties資源屬性文件 Struts如何支持I18N struts利用在session中存放一個Locale對象來達(dá)到設(shè)置當(dāng)前語言的目的默認(rèn)的情況下 struts根據(jù)網(wǎng)頁向后臺提交時所包含的語言編碼信息來提供缺省的Locale對象 這就是我們?yōu)槭裁纯梢酝ㄟ^更改網(wǎng)頁顯示語言設(shè)置 就能顯示不同的語言文字的原因 struts在session中存放的這個Locale對象 取值 org apache struts Globals LOCALE KEY Struts消息處理 為什么需要消息處理 比如登錄成功的提示比如創(chuàng)建失敗的提示等等 總之 程序總是要通過界面來跟用戶交互 所以 在交互的過程中 就產(chǎn)生了眾多的消息文本struts提供了專門的處理機制 來將這些消息文本國際化 避免消息文本的硬編碼消息處理 就是在Action和JSP之間傳遞的消息文本的處理 區(qū)別于JSP頁面硬編碼文本的消息 JSP頁面消息可以使用標(biāo)簽來處理 Struts交互消息 是通過ActionMessages等對象 以及相應(yīng)的標(biāo)簽來處理的 如何創(chuàng)建消息對象 ActionMessages與ActionMessage對象ActionMessages對象是ActionMessage對象的集合一個ActionMessage對象 代表一個國際化消息文本 字符串 如何創(chuàng)建ActionMessages對象 ActionMessagesmessages newActionMessages 如何創(chuàng)建ActionMessage對象 ActionMessagemsg newActionMessage key 其構(gòu)造方法帶的參數(shù) 就是一個在資源屬性文件中的key 所以 它能表示一個國際化消息文本如何將ActionMessage對象添加到ActionMessages對象中 messages add message id msg 第一個參數(shù) message id 表示本ActionMessage對象在ActionMessages對象中區(qū)別于其它ActionMessage對象的標(biāo)識符 消息對象如何傳遞 首先要決定的是 要傳遞的消息是普通消息還是錯誤消息 普通消息 即普通的消息文本錯誤消息 即提示錯誤的消息文本本質(zhì)上 這兩種消息沒有什么區(qū)別 都是消息文本 但是如果一個頁面同時需要顯示普通的消息文本和錯誤消息文本的時候 就需要進(jìn)行區(qū)分了 比如不同類型的消息文本可能要用不同的樣式來顯示通過一句簡單的代碼 將ActionMessages對象保存到HttpServletRequest對象中保存普通消息 this saveMessages request messages 保存錯誤消息 this saveErrors request messages 這就是調(diào)用父類 Action 所提供的方法saveMessages saveErrors 來保存消息對象實際上 父類的saveMessages 方法 將消息對象保存在了request中 并命名為Globals MESSAGE KEYsaveErrors 方法 將消息對象保存在了request中 并命名為Globals ERROR KEY 標(biāo)簽 標(biāo)簽只顯示錯誤消息標(biāo)簽與標(biāo)簽類似 但無id屬性標(biāo)簽通過提供header footer屬性以及prefix suffix屬性來定制每條消息的顯示格式header footer 定義整個錯誤消息顯示之前 之后 要顯示的內(nèi)容 這些內(nèi)容也是在資源屬性文件中定義的一些key值 默認(rèn)的情況下 它們的取值分別為 errors header和errors footerprefix suffix 定義每條錯誤消息顯示之前 之后 要顯示的內(nèi)容 這些內(nèi)容也是在資源屬性文件中定義的一些key值 默認(rèn)的情況下 它們的取值分別為 errors prefix和errors suffix舉例如下 errors header errors prefix errors suffix errors footer Struts的異常自動處理機制 編程式異常處理即我們在Action中調(diào)用業(yè)務(wù)邏輯層對象的方法時 用try catch的方式來截獲異常之后 手工對異常進(jìn)行處理我們以前的開發(fā)過程中 都是使用編程式的異常處理在編程式異常處理的時候 我們可以使用struts的消息處理機制來對這些異常信息進(jìn)行處理自動異常處理機制即在Action中不捕捉異常 而是將異常拋出給struts框架處理我們需要在配置文件中指示struts如何處理這些被拋出的異常使用元素來定義自動異常處理 元素的配置及使用 元素的配置 指示了struts如何處理異常的方式在通常的情況下 我們得到異常以后 需要將頁面導(dǎo)航到一個錯誤提示的頁面 提示錯誤信息元素配置的關(guān)鍵屬性是 key 即這個異常所對應(yīng)的錯誤提示消息文本的key 這個key的值 需要在資源屬性文件中進(jìn)行定義type 即定義需要處理哪種類型的Exceptionpath 定義一旦出現(xiàn)異常 需要轉(zhuǎn)向哪個頁面來進(jìn)行提示 如果不定義path屬性 默認(rèn)情況下 將使用Action配置中的input屬性的值來作為轉(zhuǎn)向的頁面如何顯示錯誤消息 在JSP頁面中 使用標(biāo)簽 即可將其異常對應(yīng)的錯誤消息文本進(jìn)行顯示 publicclassByZeroExceptionextendsException publicByZeroException Stringmessage super 除零異常 頁面中 ActionForm對象 ActionForm的要求必須擴展自org apache struts action ActionForm如果要獲取表單的值 必須定義與表單元素一一對應(yīng)的屬性如果要求在將ActionForm傳遞到Action之前進(jìn)行校驗 必須實現(xiàn)validate方法如果想要在組裝前初始化屬性 必須實現(xiàn)reset方法DynaActionForm使用動態(tài)ActionForm 可以完全不再需要書寫ActionForm 所有ActionForm只需要在struts config xml文件中配置即可元素屬性 name type進(jìn)一步了解ActionForm對象ActionForm作為表單字段收集器ActionForm作為類型轉(zhuǎn)換器 所有從表單提交到后臺的數(shù)據(jù)均為字符串類型 利用ActionForm自動轉(zhuǎn)換int double boolean等數(shù)據(jù)類型 ActionForm可以被其它bean或者過程作為數(shù)據(jù)載體 動態(tài)ActionForm 使用動態(tài)Form實現(xiàn)用戶登錄 以配置的方式創(chuàng)建Form 從動態(tài)Form中取值 演示示例 使用動態(tài)Form開發(fā) 用戶登錄 功能 ActionForm數(shù)據(jù)校驗 ActionForm的代碼校檢重寫ActionForm的validate方法若有錯誤 把錯誤消息封裝在ActionMessage對象里將多個ActionMessage組合成ActionErrors對象應(yīng)對action配置input屬性jsp頁面使用標(biāo)簽輸出出錯提示結(jié)合commons validator jar的校驗編寫ActionForm使其繼承ValidatorForm 編寫校驗規(guī)則文件 validator rules xml和validations xml由配置action的input屬性在struts config xml文件中配置元素 負(fù)責(zé)加載校驗規(guī)則文件加載國際化資源文件 在JSP頁面使用標(biāo)簽 ActionForward對象 ActionForward能做什么 ActionForward會回傳給ActionServletActionForward中的路徑 可以是一個帶參數(shù)的URIActionForward的屬性namepathredirect全局ActionForward與局部ActionForward 規(guī)則 先在局部找 局部沒有的話 再到全局找 元素 name path redirect動態(tài)創(chuàng)建ActionForward將ActionForward定義在一個Struts配置文件中是個好的選擇 但也可以在Action中動態(tài)創(chuàng)建ActionForward 而不需要在配置文件中指定 例如 ActionForwardforward newActionForward chap08 welcome jsp ActionMapping對象 理解ActionMappingpath action的訪問路徑 以 開頭type action的完整類名name 與action關(guān)聯(lián)的formbean的標(biāo)識IDscope 與action關(guān)聯(lián)的formbean的存在范圍 request session默認(rèn) validate 是否調(diào)用validate方法校驗input 校驗失敗轉(zhuǎn)向的路徑unknow 處理用戶發(fā)出的無效ActionURLparameterforwardinclude scope屬性 在Action映射配置中 scope屬性可以取值為 request或sessionscope屬性表示 Struts框架在將ActionForm對象 與目標(biāo)Action匹配的ActionForm 傳送到Action之前 會將ActionForm對象保存的位置如 scope request 配置 將指示struts調(diào)用request setAttribute ActionForm名稱 ActionForm對象 方法 將ActionForm對象保存到request 其中 ActionForm名稱與struts config xml配置中的ActionForm名稱一致 如 其中addForm就是其名稱 Action對象 如果應(yīng)用需要保存一個記錄到數(shù)據(jù)庫中 典型的過程可能是ActionForm捕獲輸入ActionMapping配置ActionAction將輸入送到數(shù)據(jù)庫中 通常會將這一步操作委托給業(yè)務(wù)邏輯類去實現(xiàn) ActionForward提供一個鏈接到輸入頁面J2EE是一個多線程的環(huán)境 服務(wù)器針對每個請求啟動一個線程來處理 所以有可能會有多個線程同時訪問一個Servlet實例的情況 在Struts里面也是一樣的 有可能會有多個線程同時訪問一個Action實例的情況 所以必須保證Action類中的方法具有 可重入性 即不能在Action的方法里改變實例變量的值 Action的主要職責(zé)校驗輸入數(shù)據(jù)調(diào)用業(yè)務(wù)邏輯方法檢測處理異常根據(jù)邏輯進(jìn)行轉(zhuǎn)向操作 幾種不同的Action DispatchAction 該Action可以在一個action內(nèi)同時完成多個acti
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國際貿(mào)易資訊短視頻企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 老年大學(xué)主題酒店行業(yè)跨境出海項目商業(yè)計劃書
- 會員制湘繡服務(wù)創(chuàng)新創(chuàng)業(yè)項目商業(yè)計劃書
- 產(chǎn)品亮點展示短視頻行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 圖書館環(huán)保標(biāo)準(zhǔn)企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 書報刊邊角精細(xì)加工創(chuàng)新創(chuàng)業(yè)項目商業(yè)計劃書
- 2025至2030中國海外代購行業(yè)融資渠道與未來發(fā)展方向建議報告
- 2025至2030中國沼氣肥行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 擠壓剪切式核桃破殼方法研究
- 2型糖尿病伴慢性牙髓炎及根尖周炎根管內(nèi)菌群測序研究
- 人教PEP版五年級英語下冊期末預(yù)測卷(含答案含聽力原文無音頻)
- AI驅(qū)動的美容護(hù)理機器人技術(shù)-洞察闡釋
- 實驗操作考試試題及答案
- 公司適用職業(yè)健康安全法律法規(guī)標(biāo)準(zhǔn)清單
- 外科創(chuàng)傷處理-包扎技術(shù)課件
- 小三斷絕關(guān)系協(xié)議合同
- 二級注冊計量師考試知識點大全2025
- 醫(yī)院護(hù)理清單式管理流程
- 助理醫(yī)師考試行為規(guī)范試題及答案
- 健康風(fēng)險的評估與管理策略試題及答案
- 車場日活動方案
評論
0/150
提交評論