跳轉到內容

WebObjects/Web 應用程式/開發/直接操作

來自 Wikibooks,開放世界中的開放書籍

直接操作是可以不使用 WOSession 即可呼叫的操作方法。與元件操作相反,元件操作需要 WOSession 並且各種表單值繫結為物件,而直接操作更像傳統 Web 框架,其中表單值是透過 WORequest 的 formValues 字典和 cookie 訪問的。直接操作非常適合構建無狀態、高效能的網站,儘管您會失去 WebObjects 在使用元件操作時提供的某些易於開發的功能。

頁面仍然以通常的方式生成,但如果您希望頁面中生成的連結在點選時使用直接操作,即建立直接操作 URL,則必須進行適當的繫結。

如果需要,直接操作可以與會話一起使用,與會話在其他 Web 技術中的工作方式相同 - 正確的會話物件將從 URL 或 cookie 中的資訊自動定位,並且可以在其中獲取和更改狀態。

除了其他用途,直接操作通常在不需要任何會話的情況下使用(使用更少的資源),或者需要可書籤或易於建立的 URL 時使用。直接操作也經常用於為您的應用程式提供多個入口點,每個入口點都有自己的 URL,但隨後返回使用普通元件操作的元件。

如果您不需要元件操作的額外便利性,使用直接操作也是一個不錯的選擇,因為它們沒有任何缺點。但是,在不建立 WOSession 的情況下建立完整的 WO 應用程式非常困難,而且大多數情況下,無論如何您都需要它。

David LeBer 的文章

[編輯 | 編輯原始碼]

David LeBer 有一系列關於使用直接操作的文章

  1. 使用 WebObjects 直接操作第 1 部分
  2. 使用 WebObjects 直接操作第 2 部分
  3. 使用表單中的值呼叫直接操作
  4. 使用 WOHyperlink 中的值呼叫直接操作
  5. 使用 WORedirect 中的值呼叫直接操作

此頁面用於放置使用直接操作時發現的實用備註和提示。

  • 要使用直接操作進行快速瀏覽,請檢視(在 Mac OS X,WO 5.x 上):/Developer/Examples/JavaWebObjects/ThinkMovies
  • 在將直接操作與包含 WOText 或 textarea 元素的表單一起使用時,您必須自己刪除從客戶端傳送回來的任何 \r\n(軟回車)。在元件操作頁面中,WOText 元素會為您處理此問題,但是當您自己從請求的表單值中提取值時,需要自己處理軟回車。您應該只將它們轉換為 \n。
華夏公益教科書